Python:1002 写出这个数

一、题目

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

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

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

二、代码

思路
这个比较巧妙,代码也简洁,利用Python的字典功能实现阿拉伯数字和相应拼音的对应关系,然后利用 Python的特性,输入的默认为字符串,然后字符串具有迭代特性,对其每一位进行强制转换得到各位数字的和,其实这里还可以用字符串的特性,将和看坐字符串,同样迭代利用字典打印即可。

n =input()
sum = 0 
data = []
num = {0:'ling',1:'yi',2:'er',3:'san',4:'si',5:'wu',6:'liu',7:'qi',8:'ba',9:'jiu'}

for i in n:
    sum = sum + int(i)
        
while sum != 0:
    data.append(sum %10)
    sum = int(sum/10)

while len(data)!=1:
    print(num[data.pop()],end= ' ')

print(num[data.pop()])
n = input()
sum = 0 
num = {0:'ling',1:'yi',2:'er',3:'san',4:'si',5:'wu',6:'liu',7:'qi',8:'ba',9:'jiu'}

for i in n:
    sum = sum + int(i)
        
sum = str(sum)
i = 0
length = len(sum)
while i<length -1:
    i = i+ 1
    print(num[int(sum[i-1])],end= ' ')
print(num[int(sum[len(sum)-1])])
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南淮北安

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值