1029482962 发表于 2020-5-6 22:24:08

求求了,小白请教一个问题

题目:
获得用户输入的一个正整数输入,输出该数字对应的中文字符表示。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬
0到9对应的中文字符分别是:零一二三四五六七八九

代码答案:
template = "零一二三四五六七八九"

s = input()
for c in s:
    print(template, end="")

完全看不懂惹。。。。。。这个template是什么神奇的函数。。。。。
百度也一脸懵

1029482962 发表于 2020-5-6 22:24:51

上面那个咋出现这么多乱码。。。。
题目:
获得用户输入的一个正整数输入,输出该数字对应的中文字符表示。
0到9对应的中文字符分别是:零一二三四五六七八九

代码答案:
template = "零一二三四五六七八九"

s = input()
for c in s:
    print(template, end="")

完全看不懂惹。。。。。。这个template是什么神奇的函数。。。。。
百度也一脸懵

_荟桐_ 发表于 2020-5-6 23:02:54

template不是函数,是一个字符串
遍历s
eval(c)返回整形c(eval就是把传入的字符串当成代码一样执行)
然后索引template的第eval(c)个元素并打印

_2_ 发表于 2020-5-7 09:07:04

template 是一个字符串,前面定义过的
由于输入的是一个正整数,但 input() 获取的输入都是字符串,所以要用 eval(c) 转化(这里用 int(c) 也可以)
for 遍历字符串,每一次都通过对应的数字得到汉字对应的下标(比如你输入01,那么
for 就会遍历两次 c ,然后 template 就是 '零',template 就是 '一')

Twilight6 发表于 2020-5-7 09:11:54

template 就是个普通变量名而已,你用x代替也可,不过后面的template也要全 变x

sunrise085 发表于 2020-5-7 09:35:25

template就是一个字符串
这是通过for循环和eval函数将输入的数字转为对应的汉字的
eval是将字符串转为表达式,在这里就是讲输入的数字字符转为对应的数字
例如:输入138,那么字符串s为'138'
for循环遍历字符串s,
第一次循环,c='1',eval(c)就是数字1,print(template,end="")就是输出template中下标为1的字符,即“一”
第二次循环,c='3',eval(c)就是数字3,print(template,end="")就是输出template中下标为3的字符,即“三”
第三次循环,c='8',eval(c)就是数字8,print(template,end="")就是输出template中下标为8的字符,即“八”
最终得到的就是一三八
输入其他数字字符是一样的

sunrise085 发表于 2020-5-14 10:49:57

本帖最后由 sunrise085 于 2020-5-14 10:51 编辑

@qiuyouzhi 版主,帮忙评个最佳,题主解决问题后就不见了。。版主帮个忙
你现在是正式版主,应该有权限了吧

qiuyouzhi 发表于 2020-5-14 10:51:47

sunrise085 发表于 2020-5-14 10:49
@qiuyouzhi 版主,帮忙评个最佳,题主结局问题后就不见了。。版主帮个忙
你现在是正式版主,应该有权限了 ...

@zltzlt
页: [1]
查看完整版本: 求求了,小白请教一个问题