1 def convert(num):
2 ch_num=['零','壹','贰','叁','肆','伍','陆','柒','捌','玖','拾']
3 s_unit=['','拾','佰','仟']
4 b_unit=['','万', '亿', '兆', '京', '垓', '秭', '穣', '沟', '涧', '正', '载', '极', ['恒河沙'], ['阿僧祇'], ['那由他'], ['不可思议'], ['无量大数']]
5
6 numlist = list(map(int,str(num)))
7 numlist.reverse()
8 l=[]
9 j=0
10 for i in range(0, len(numlist), 4):
11 p=[]
12 if sum(numlist[i:i+4]):
13 for ii in range(0, 4):
14 if (i+ii)<len(numlist):
15 if numlist[i+ii]:
16 p.append([s_unit[ii],ch_num[numlist[i+ii]]])
17 else:
18 if p and p[-1] != ['零']:
19 p.append(['零'])
20 if j < len(b_unit):
21 l.append([b_unit[j]]+p)
22 else:
23 return "数字太大,超出计量范围!!"
24 else:
25 if l and l[-1]!=['零'] and l[-1][-1]!=['零']:
26 l.append(['零'])
27 j += 1
28 l = [c for a in l for b in a for c in b if c]
29 l.reverse()
30 l=''.join(l)
31 return l