python 1002写出这个数

读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。

输入格式:
每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 10^100.

输出格式:
在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。

输入样例:
1234567890987654321123456789
输出样例:
yi san wu
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
初次错误:非零输出

from xpinyin import Pinyin
dict={'0': '零', '1': '一', '2': '二', '3': '三','4': '四',
'5': '五', '6': '六', '7': '七', '8': '八', '9': '九'}
n = list(input())
sum = 0
p = Pinyin()
for i in n:
     sum += int(i)
sum = list(str(sum))
for i in sum:
   for key,value in dict.items():
          if key == i:
            result = p.get_pinyin(value, ' ')
            print(result,end=' ')

改进后依旧报错:非零输出

dict={'0': 'ling', '1': 'yi', '2': 'er', '3': 'san','4': 'si',
'5': 'wu', '6': 'liu', '7': 'qi', '8': 'ba', '9': 'jiu'}
n = list(input())
sum = 0
for i in n:
   sum += int(i)
sum = list(str(sum))
for i in sum:
   for key,value in dict.items():
         if key == i:
         print(value,end=' ')

格式错误

dict={'0': 'ling', '1': 'yi', '2': 'er', '3': 'san','4': 'si',
'5': 'wu', '6': 'liu', '7': 'qi', '8': 'ba', '9': 'jiu'}
n = list(input())
sum = 0
for i in n:
     sum += int(i)
sum = list(str(sum))
for i in sum:
     for key,value in dict.items():
          if key == i:
               if int(i)<=len(sum):
                    print(value,end=' ')
               else:
                    print(value,end='')

正确答案:待考究

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值