我是靠谱客的博主 奋斗方盒,最近开发中收集的这篇文章主要介绍Python实现:读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

题目:

读入一个正整数 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,计算其各位数字之和,用汉语拼音写出和的每一位数字所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部