题源:python
题目:获取用户输入的一个正整数,并将其转换为中文字符表示。如输出为一二三,输出为九八七六五四三二一零
标准答案:
template="零一二三四五六七八九”
s=input()
forcins:
--print(templat[eval(c)],end="")
注解:利用的是索引取值的方式完成数字与中文之间的转换。
template中“零一二三四五六七八九”分别对应的索引是0456789;若单个正整数输入转换为,template[1]="一",巧妙设置转换方法。
input()获取的是字符串类型,即c将字符串的最外侧引号去掉,将字符串转换为数值,作为template的索引数值。
eval(c)将字符串的最外侧引号去掉,将字符串转换为数值,作为template的索引数值。
for循环即遍历输入的每个字符,即按索引位置拆分获取的字符。
end=“”表示打印内容可继续追加,直至for循环结束。(本小白忘记的一点)
ps:--代表缩进,Python中缩进很重要。
本小白的答案为:
沿用自己原来想用字典解题的思路,比答案稍微复杂一点,代码如下:
a={1:"一",2:"二",3:"三",4:"四",5:"五",6:"六",7:"七",8:"八",9:"九",0:"零"}
r=input()
foriinr:
缩print(a[int(i)],end="")
注解:用字典的键值对匹配数值,用int转换字符串为整数类型,遍历每个字符串所对应的数值、数据、字符串等。相对于索引来说,字典字数多一点点,但匹配相对自由一点。
python处理的底图底色