python数字转换成中文大写_python初学者笔记(2):阿拉伯数字转换成中文大写
題:輸入一個(gè)數(shù)字,轉(zhuǎn)換成中文大寫的寫法
可運(yùn)行的程序(Python 2.7.9):
1 #-*- coding: utf-8 -*- #在python2的py文件里面寫中文,必須要添加一行聲明文件編碼的注釋,否則python2會(huì)默認(rèn)使用ASCII編碼
2 dic_num={"0":u"零","1":u"壹","2":u"貳","3":u"叁","4":u"肆","5":u"伍","6":u"陸","7":u"柒","8":u"扒","9":u"玖"}3 dic_unit={0:u"",1:u"拾",2:u"佰",3:u"仟",4:u"萬"}4
5 flag =True6
7 while flag:#保證程序能反復(fù)運(yùn)行
8 shu =[]9 big = ''
10 num = raw_input("請輸入數(shù)字(范圍在1~99999之間),若輸入q則退出程序:".decode('utf-8').encode('gbk'))11 if num == 'q' or num == 'Q':12 flag =False13 elif int(num) < 1 or int(num) > 99999:14 print "錯(cuò)誤!請輸入1~99999之間的數(shù)字!\n".decode('utf-8').encode('gbk')15 continue
16 else:17 listnum =list(num)18 lennum = len(listnum)-1
19 for item inlistnum:20 shu.append(dic_num[item])#先取輸入數(shù)字中的第一個(gè)數(shù)對應(yīng)的中文大寫加到shu列表里,后續(xù)循環(huán)
21 shu.append(dic_unit[lennum])#例:4位數(shù)就取dic_unit中3對應(yīng)的“仟”加到shu的第一個(gè)數(shù)字后面,后續(xù)循環(huán)
22 lennum -=1
23 big = ''.join(shu)24 print big.encode('gbk')25 print "\n"
注:剛剛學(xué)習(xí)的初級程序?qū)懛?#xff0c;有很多不全的地方,比如:1.輸入“082”開頭是0的數(shù)字一樣會(huì)輸出“零佰扒拾貳”,應(yīng)該需要更多的判斷語句;2.輸入“034354”會(huì)直接報(bào)錯(cuò),應(yīng)該沒有加異常處理造成的結(jié)果。
后續(xù)會(huì)繼續(xù)學(xué)習(xí),歡迎大神補(bǔ)充更完善的寫法。
總結(jié)
以上是生活随笔為你收集整理的python数字转换成中文大写_python初学者笔记(2):阿拉伯数字转换成中文大写的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于Java开发一套完整的区块链系统(附
- 下一篇: python web前端 java ui