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