输入数字输出中文大写python_阿拉伯数字转换成中文大写,中文货币的表达方式 python...
最近在qq群經(jīng)常看到一個題目,網(wǎng)上查找資料發(fā)現(xiàn),有人實現(xiàn)了一半內(nèi)容,都是在處理0的問題上卡住了,自己就嘗試用剛開始學(xué)習(xí)的python寫了一下。python處理這個問題還是比較方便。
題目:
代碼:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#轉(zhuǎn)換
import re
chd = {' ':'m','0':'零','1':'壹','2':'貳','3':'叁','4':'肆','5':'伍','6':'陸','7':'柒','8':'捌','9':'玖'}
und = {'S':'拾','B':'佰','Q':'仟','W':'萬','Y':'億'}
#判斷輸入內(nèi)容(首位不為零的整數(shù))
ips = raw_input('Please input a number: ')
while ips[0] == '0':
ips = raw_input('Wrong,the first non-zero: ')
else:
while ips.isdigit():
break
else:
ips = raw_input('Wrong,please input a number: ')
if len(ips) <= 9:
#輸出9位字符,右對齊,補空格
ips = ips.rjust(9)
#轉(zhuǎn)換成大寫
ops = chd[ips[0]]+und['Y']+chd[ips[1]]+und['Q']+chd[ips[2]]+und['B']+chd[ips[3]]+und['S']+chd[ips[4]]+und['W']+chd[ips[5]]+und['Q']+chd[ips[6]]+und['B']+chd[ips[7]]+und['S']+chd[ips[8]]+'元'
#無用的數(shù)字位替換為空
ops = re.sub('(m...)+','',ops)
#處理零
ops = re.sub('零元$','元',ops)
ops = re.sub('零萬','萬',ops)
ops = re.sub('(零...)+','零',ops)
ops = re.sub('零萬','萬',ops)
ops = re.sub('零元$','元',ops)
print ops
else:
print 'The number is too big.'
測試結(jié)果:
總結(jié)
以上是生活随笔為你收集整理的输入数字输出中文大写python_阿拉伯数字转换成中文大写,中文货币的表达方式 python...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 坐标反算用计算机怎么算,卡西欧5800计
- 下一篇: linux中出现不在 sudoers 文