Python小白日志2(阿拉伯数字转中文汉字)

题目描述:
获得用户输入的一个正整数输入,输出该数字对应的中文字符表示。
‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬0到9对应的中文字符分别是:零一二三四五六七八九

输入输出示例:
输入:123-----------输出:一二三
输入:9876543210--------输出:九八七六五四三二一零

最初思路,我想初级小白都一样,会想到用字符串长度len()这个函数,然后用循环和大规模选择结构写。是的,上傻叉的第一次代码:

#Course1Test3.NumConverChinese.py
C=input()   #输入字符串
Num=len(C)  #求字符串长度
a=0         #定义a用来计数,因为要输出每一位
b=''        #定义b输出字符串
for i in range(Num):
    if eval(C[a])==0:
        a=a+1
        b="零"
    elif eval(C[a])==1:
        a=a+1
        b="一"
    elif eval(C[a])==2:
        a=a+1
        b="二"
    elif eval(C[a])==3:
        a=a+1
        b="三"
    elif eval(C[a])==4:
        a=a+1
        b="四"
    elif eval(C[a])==5:
        a=a+1
        b="五"
    elif eval(C[a])==6:
        a=a+1
        b="六"
    elif eval(C[a])==7:
        a=a+1
        b="七"
    elif eval(C[a])==8:
        a=a+1
        b="八"
    else:
        a=a+1
        print("九")
print(b)

跑一下,哦呦?怎么打开方式不对呢?

>>> 
=========== RESTART: D:/PythonPro/Course1Test3.NumConverChinese.py ===========
123>>> 

答案很简单,我觉得用这个方法写的小白可能会像我一样遇到这个问题:敲黑板!敲黑板!敲黑板!
大哥,你输入123,b赋值后,字符串没有进行连接哇!!!!
下面改一下这个位置就好咧:小魔仙全身变!

开始:

    elif eval(C[a])==1:
        a=a+1
        b="一"

变身后呢:

    elif eval(C[a])==1:
        a=a+1
        b=b+"一"

这样就完成啦
小白的结果:

>>> 
=========== RESTART: D:/PythonPro/Course1Test3.NumConverChinese.py ===========
123
一二三
>>> 

你以为这样就可以知足么?不存在的
这个代码一看就是小白中的小白,我要自嘲下,我怎么想到这么人畜无害的代码。
然后我去膜拜了CSDN其他大神的进阶之路。

#SimpleCode
tempstr=input()   #输入字符串
Str="零一二三四五六七八九"   #将零一二三四五六七八九表示为一个字符串
n=''    #这个n的用法其实和上一个方法里的b是一样的,用来连接字符串
i=0     #循环计数
while i<len(tempstr):#小于字符串长度-1
    n=n+Str[eval(tempstr[i])]#依据字符串顺序增长特性,取相对应的位置汉字即可
    i=i+1
print(n)

未完待续,我要完成一下
输入“零一二三四五六七八九”
输出“零壹贰叁肆伍陆柒捌玖”
等我来更……

你可能感兴趣的:(Python小白日志2(阿拉伯数字转中文汉字))