python练习题--阿拉伯数字转换成中文数字
生活随笔
收集整理的這篇文章主要介紹了
python练习题--阿拉伯数字转换成中文数字
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
python練習(xí)題–阿拉伯?dāng)?shù)字轉(zhuǎn)換成中文數(shù)字
用戶輸入任意阿拉伯?dāng)?shù)字,如【123456】,把它轉(zhuǎn)換成中文數(shù)字【壹拾貳萬叁仟肆佰伍拾陸】
以前面試時面試官問的問題,當(dāng)時沒能答出來,今天初步解決,把它記錄下來,也是有點意義的。本題并不完善,不包括0(包括0的格式問題尚未解決),純屬提供一個思路(獲取位數(shù)的思路)
```python def switch_num(num):"""把數(shù)字轉(zhuǎn)換成中文"""if type(num) != int:return Noneelif num == 1:return "壹"elif num == 2:return "貳"elif num == 3:return "叁"elif num == 4:return "肆"elif num == 5:return "伍"elif num == 6:return "陸"elif num == 7:return "柒"elif num == 8:return "捌"elif num == 9:return "玖"# 判斷位數(shù)并轉(zhuǎn)換,//運算符表示除法運算后向下取整, %運算符表示模運算,即除法運算后取余數(shù) while True:try:n = int(input("輸入大于或等于0且位數(shù)不大于9位的數(shù)字:"))if n > 0:if len(str(n)) == 9:a = n // 100000000a = switch_num(a) + "億"b = n // 10000000 % 10b = switch_num(b) + "千"c = n // 1000000 % 10c = switch_num(c) + "佰"d = n // 100000 % 10d = switch_num(d) + "拾"e = n // 10000 % 10e = switch_num(e) + "萬"f = n // 1000 % 10f = switch_num(f) + "仟"g = n // 100 % 10g = switch_num(g) + "佰"h = n // 10 % 10h = switch_num(h) + "十"i = n // 1 % 10i = switch_num(i)print(a + b + c + d + e + f + g + h + i)elif len(str(n)) == 8:b = n // 10000000 % 10b = switch_num(b) + "千"c = n // 1000000 % 10c = switch_num(c) + "佰"d = n // 100000 % 10d = switch_num(d) + "拾"e = n // 10000 % 10e = switch_num(e) + "萬"f = n // 1000 % 10f = switch_num(f) + "仟"g = n // 100 % 10g = switch_num(g) + "佰"h = n // 10 % 10h = switch_num(h) + "十"i = n // 1 % 10i = switch_num(i)print(b + c + d + e + f + g + h + i)elif len(str(n)) == 7:c = n // 1000000 % 10c = switch_num(c) + "佰"d = n // 100000 % 10d = switch_num(d) + "拾"e = n // 10000 % 10e = switch_num(e) + "萬"f = n // 1000 % 10f = switch_num(f) + "仟"g = n // 100 % 10g = switch_num(g) + "佰"h = n // 10 % 10h = switch_num(h) + "十"i = n // 1 % 10i = switch_num(i)print(c + d + e + f + g + h + i)elif len(str(n)) == 6:d = n // 100000 % 10d = switch_num(d) + "拾"e = n // 10000 % 10e = switch_num(e) + "萬"f = n // 1000 % 10f = switch_num(f) + "仟"g = n // 100 % 10g = switch_num(g) + "佰"h = n // 10 % 10h = switch_num(h) + "十"i = n // 1 % 10i = switch_num(i)print(d + e + f + g + h + i)elif len(str(n)) == 5:e = n // 10000 % 10e = switch_num(e) + "萬"f = n // 1000 % 10f = switch_num(f) + "仟"g = n // 100 % 10g = switch_num(g) + "佰"h = n // 10 % 10h = switch_num(h) + "十"i = n // 1 % 10i = switch_num(i)print(e + f + g + h + i)elif len(str(n)) == 4:f = n // 1000 % 10f = switch_num(f) + "仟"g = n // 100 % 10g = switch_num(g) + "佰"h = n // 10 % 10h = switch_num(h) + "十"i = n // 1 % 10i = switch_num(i)print(f + g + h + i)elif len(str(n)) == 3:g = n // 100 % 10g = switch_num(g) + "佰"h = n // 10 % 10h = switch_num(h) + "十"i = n // 1 % 10i = switch_num(i)print(g + h + i)elif len(str(n)) == 2:h = n // 10 % 10h = switch_num(h) + "十"i = n // 1 % 10i = switch_num(i)print(h + i)elif len(str(n)) == 1:i = n // 1 % 10i = switch_num(i)print(i)else:print("請輸入不超過9位的數(shù)字!")else:print("輸入錯誤,請輸入大于0的數(shù)字!")except:print("輸入錯誤,請輸入數(shù)字!")總結(jié)
以上是生活随笔為你收集整理的python练习题--阿拉伯数字转换成中文数字的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux系统安装报firstboot错
- 下一篇: 持续学习