1002 写出这个数
题目:
读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
输入格式:
每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 10100。
输出格式:
在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。
输入样例:
1234567890987654321123456789
输出样例
yi san wu
分析:
将输入的n(字符串)转换成列表形式,再将其相加后转换成整形。建立一个字典,把对应数字的值输出。
join()函数:使用join()函数在两个字符串之间用空格连接。
代码(python):
n=list(input()) #将输入的字符串转换为一个列表
sum=0 #初始化sum
for i in n:
sum=sum+n[i] ##把n中元素相加(并转换成整形)
dic={'0':'ling','1':'yi','2':'er','3':'san','4':'si','5':'wu','6':'liu','7':'qi','8':'ba','9':'jiu'} #创建一个字典
list1=[] #创建一个空列表
for i in str(sum): #将sum转换成字符串,遍历sum中元素
if i in dic.keys(): #如果sum中数字在dic中找到对应,则输出数字对应的值
list1.append(dic[i]) #在空列表中添加对应的值
a=' '.join(list1) #将元素以空格连接起来成为新的字符串
print(a)
总结:
最开始用c++做,做了很久也没有做出来,然后用python做,发现还是做不出来,原因还是很多知识都不会用,就是也许知道有这个东西但是自己就是使用不来,怎么用都做不对。
ps:最后百度+参考大佬们的代码写的