1002写出这个数

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:最后百度+参考大佬们的代码写的

发布了10 篇原创文章 · 获赞 3 · 访问量 139

猜你喜欢

转载自blog.csdn.net/oxygen_ls/article/details/94736995
今日推荐