在下萌新 发表于 2022-10-27 12:56:29

格式求助


def divide(num):
    #将一个浮点数强制类型转换为int类型,即得到它的整数部分
    integer = int (num)
    #浮点数减去整数部分,得到小数部分,小数部分乘以100后再取整,得到2位小数
    fraction = round( (num -integer) *100)
    #下面把整数转换为字符串
    return (str(integer) , str(fraction))
han_list=["零","壹","贰","参","肆","伍","陆","柒","捌","玖"]
unit_list= ["十","百","千"]
'''
把一个4位的数字字符串变成汉字字符串
num_str是需要被转换的4位数字字符串
返回4位数字字符串被转换成汉字字符串
'''
def four_to_hanstr(num_str):
    result = ""
    num_len=len(num_str)
    for i in range(num_len):
      num=int(num_str)
      if i != num_len -1 and num !=0:
            result +=han_list+unit_list
      else:
            result+=han_list
            returnresult
'''
把数字字符串变成汉字字符串
num_是需要被转换的字符串
返回数字字符串变成汉字字符串
'''
def integer_to_str(num_str):
    str_len=len(num_str)
    if str_len>12:
      print('数字过大无法翻译')
      return
    elif str_len>8:
      return four_to_hanstr(nuw_str[:-8])+"亿"+four_to_hanstr(num_str[-8:-4])+"万"+four_to_hanstr(num_str[-4:])
    elif str_len>4:
      return four_to_hanstr(num_str[:4])+"万"+four_to_hanstr(num_str[-4:])
    else:
      return four_to_hanstr(num_str)
nuw=float(input("请输入一个浮点数:"))
integer,fraction=divide(nuw)
print(integer_to_str(integer))
print(fraction)
print(integer)

中间的num_str 是不是输入num后他会自动转str格式

jackz007 发表于 2022-10-27 13:27:54

本帖最后由 jackz007 于 2022-10-27 13:29 编辑

def divide(num):
. . . . . .
    return (str(integer) , str(fraction))
      是的,这个函数返回一个包含两个字符串的元组,第一个元素是 num 的整数部分,第二个元素是 num 的小数部分,类型都是字符串

在下萌新 发表于 2022-10-27 13:30:23

jackz007 发表于 2022-10-27 13:27
是的,这个函数返回一个包含两个字符串的元组,第一个元素是 num 整数部分,第二个元素是 num 的 ...

我的意思是 函数中的num_str参数是不是我在外部设定num参数 到那个函数中会自动变成num的str格式。 新手小白刚刚学习

jackz007 发表于 2022-10-27 13:43:26

在下萌新 发表于 2022-10-27 13:30
我的意思是 函数中的num_str参数是不是我在外部设定num参数 到那个函数中会自动变成num的str格式。 新 ...

      什么叫自动?整数就是整数,字符串就是字符串,没有什么自动,ok?

在下萌新 发表于 2022-10-27 13:43:54

jackz007 发表于 2022-10-27 13:43
什么叫自动?整数就是整数,字符串就是字符串,没有什么自动,ok?

好的 理解了谢谢大佬
页: [1]
查看完整版本: 格式求助