|
|
发表于 2017-8-31 21:24:29
|
显示全部楼层
- def ts(a, flag):
- table1 = [ "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"]
- table2 = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ]
- table3 = ['圆', '拾', '佰', '仟', '万', '拾万', '佰万', '亿']
- s = [] # 收集对应的大写
- L = 0 # 列表的长度
- # 算出对应大写
- for i in a:
- if i != '-':
- j = table2.index(int(i))
- s.append(table1[j])
- # 看是否为负数
- if flag == '负':
- L = len(a)-1
- s.insert(0, '负')
- for i in range(L): #将对应的单位放入
- s.insert(L+1-i,table3[i])
- else:
- L = len(a)
- for i in range(L): #将对应的单位放入
- s.insert(L-i,table3[i])
- return s
- if __name__ == '__main__':
- n = input("请输入要转换打印的数:")
- flag = ("" if int(n) > 0 else "负")
- a = [i for i in n] #放入列表中
- p = ts(a,flag)
- print(''.join(p))
复制代码
当你输入小于100的数的时候,a2永远等于0,即b2永远为‘零’。
要解决这个问题,你就要在分解和输出的时候做变化。 |
|