python實現數字轉換為漢字大寫


 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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM