概述
题目:
读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
- 输入格式:
每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 10^100 。 - 输出格式:
在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。 - 输入样例:
1234567890987654321123456789 - 输出样例:
yi san wu
代码实现如下:
"""
算法实现思想
1. 将输入的整数转换称字符串,对str型进行切割
2. 将切割得到的str进行int类型转换,并累加求和
3. 将得到的和转换为字符串,并切割转换为int类型插入列表
4. 以列表作为索引,在list中找到所对应的拼音字符,输出结果
"""
def main_code(lists_n, n):
str_n = str(n)
sum = 0
for str_i in str_n:
sum += int(str_i)
new_lists = []
for i in str(sum):
new_lists.append(lists_n[int(i)])
return " ".join(new_lists)
if __name__ == '__main__':
lists_n = ["ling", "yi", "er", "san", "si", "wu", "liu", "qi", "ba", "jiu"]
n = int(input('请输入正整数:'))
result = main_code(lists_n, n)
print(result)
前期草稿代码:
#coding=utf-8
pinyin_dict = {'0':'ling','1':'yi','2':'er','3':'san','4':'si','5':'wu','6':'liu','7':'qi','8':'ba','9':'jiu'}
input_value = int(input('请输入正整数:'))
if input_value <= 0:
print('输入不符合要求')
elif input_value < 10**100:
# 1、计算各位数字之和
## 方法一:数学方法
#sum_split = 0
#while input_value > 0:
#sum_split += input_value % 10 #取余
#input_value = input_value // 10 #取整数,舍弃最后一位
#print(sum_split)
## 方法二:因为字符串是序列,是可遍历对象,因此可用for循环取出每一个字符,这里我们直接用列表推推倒式
#sum_split = sum([int(i) for i in str(input_value)])
#print(sum_split)
# 方法三:因为字符串是序列,是可遍历对象,可以通过map函数一一映射,map(int,str(input_value))将字符串的每一个字符映射成int
sum_split = sum(map(int,str(input_value)))
print(sum_split)
# 2、将和的每一位数字拆开,以字符串的形式储存在列表中,形成字典的键
## 方法一:数学方法
#list_split = []
#while sum_split > 0:
#list_split.append(str(sum_split % 10))
#sum_split = sum_split // 10
#list_split = list(reversed(list_split))
#print(list_split)
# 方法二:因为字符串是序列,是可遍历对象,可通过python的list方法直接得到
list_split = list(str(sum_split))
print(list_split)
# 3、通过键查找值,并将值储存在列表中,最后将列表中的多个字符串通过空格拼接成一个字符串
pinyin_list = []
for i in list_split:
pinyin_list.append(pinyin_dict[i])
print(pinyin_list)
print(' '.join(pinyin_list))
最后
以上就是奋斗方盒为你收集整理的Python实现:读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字的全部内容,希望文章能够帮你解决Python实现:读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复