学习记录
写出这个数!!!
读入一个正整数n,计算其各位数字之和,用汉语拼音写出和的每一个数字。
输入格式:
每个测试输入包含一个测试用例,即给出自然数n的值,这里保证n小于10^100
输出格式:
在一行内输出n的各位数字之和的每一位,拼音数字间有一个空格,但一行的最后一个拼音后面没有空格。
输入样例:
1234567890987654321123456789
输出样例:
yi san wu
思路
- [1 ] 输入
- [ 2] 要得到每一位数并且加起来,考虑到列表
- [ 3] 得到累加和,得有0~9对于的拼音,要取出每位的值并找到对应的拼音加起来。
- [4 ] 输出
n=input("输入:")
l=list(n)
sun=0
for i in range(0,len(l)):
sun=sun+int(l[i])
ss=list(str(sun))
s=''
for j in range(0,len(ss)):
if int(ss[j])==1:
s=s+'yi'+' '
elif int(ss[j])==2:
s=s+'er'+' '
elif int(ss[j])==3:
s=s+'san'+' '
elif int(ss[j])==4:
s=s+'si'+' '
elif int(ss[j])==5:
s=s+'wu'+' '
elif int(ss[j])==6:
s=s+'liu'+' '
elif int(ss[j])==7:
s=s+'qi'+' '
elif int(ss[j])==8:
s=s+'ba'+' '
elif int(ss[j])==9:
s=s+'jiu'+' '
elif int(ss[j])==0:
s=s+'ling'+' '
print(s.rstrip())
目前能最先想到的思路,代码看起来不够简洁,还有很大的优化空间。
加油!奥利给!