前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PAT乙级1002-写出这个数

PAT乙级1002-写出这个数

作者头像
武师叔
发布2022-09-26 17:30:28
2080
发布2022-09-26 17:30:28
举报

每日一题——PAT乙级1002-写出这个数

https://www.bilibili.com/video/BV1Y34y1s7Ct

写在前面

这个题挺有意思,题目真的很简单,但是对于Python考察的是各种type怎么计算。因为这个老子看来半天代码,感觉没错啊,但是吧代码放到pycharm上一看报错就知道怎么回事了,那个字符之间不可以计算。虽然浪费了我好长一段时间,但是也对数据类型计算也有了更深的了解

问章末尾有详细的类型的反复转化。

题意

如果想听讲解的(自己录的,各位勿喷):PAT (Basic Level) Practice (中文)—乙级—Python-1002 写出这个数 (20 分)_哔哩哔哩_bilibili

1002 写出这个数 (20 分)

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

输入格式:

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

输出格式:

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

输入样例:

代码语言:javascript
复制
1234567890987654321123456789

输出样例:

代码语言:javascript
复制
yi san wu

思路讲解

#题目大意:给一段数,把各个位置的数相加,得数在变成汉语拼音 #1.首先要接受n,n是一个字符串形式即str() #2.把n变成列表形式list(),把每一个数相加,即为又回到了str模式 #在变成列表中的每一个数,为每一个数匹配一个汉语拼音 #所以我们还要建立一个字典,根据key匹配value #因为输出样式里面有空格还要再加入一个循环,但是注意截止条件,最后一个不输出“ ”,即当等于len(列表),不输出空格

代码实现

代码语言:javascript
复制
a=input()
sum=0
for i in a:
    b=int(i)
    sum+=b
c=str(sum)
dict={'1':'yi','2':'er','3':'san','4':'si','5':'wu','6':'liu','7':'qi','8':'ba','9':'jiu','0':'ling'}
d=0
for j in c:
    d+=1
    if d==len(c):
        print(dict[j],end='')
    else:
        print(dict[j],end=' ')

复杂的类型转化(你去pycharm跑一下就知道怎么回事了,骨灰级详细):

代码语言:javascript
复制
print("请输入:")
transform={'1':'yi','2':'er','3':'san','4':'si','5':'wu','6':'liu','7':'qi','8':'ba','9':'jiu','0':'ling'}
a=input()
print("input输入的类型:",type(a))

b=list(a)
print("转发化为列表的b为:",b)

#c=sum(int(i) for i in b)
sum=0
for i in a:
    s=int(i)
    sum=sum+s
print('sum的数据类型:',type(sum),"  结果: ",sum)

d=str(sum)
print("转化为字符串形式的sum","   类型:",type(d),"   字符串形式的数:",d,"   他的长度:",len(d))

flag=0
for j in d:
    flag=flag+1
    if flag==len(d):
        print(transform[j],end='')
    else:
        print(transform[j],end=' ')
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-05-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 每日一题——PAT乙级1002-写出这个数
    • 写在前面
      • 题意
        • 输入格式:
        • 输出格式:
        • 输入样例:
        • 输出样例:
      • 思路讲解
        • 代码实现
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档