问题介绍
前面我们已经讲述了如何输入“1234567890”转换成“一二三四五六七八九零”,分别运用了条件语句和循环语句解答这个问题。
现在这个问题是:将数字“一二三四五六七八九十”转化成汉字大写的“壹, 贰,叁,肆,伍,陆,柒,捌,玖,拾”。
问题分析
乍看之下,我们可以看出这道题的解题思路应该与前面的问题相差不大,唯一的区别就是当输入数字形式的“1234567890”时,我们可以利用eval()函数将数字直接作为对字符串进行切片、索引时的序号使用。
而数字形式的“一二三”无法作为序号去使用,那么我们要找到一个办法,使其可以生成供我们进行索引、切片的序号,而最终就是利用这个序号在“壹, 贰,叁,肆,伍,陆,柒,捌,玖,拾”中进行索引即可。
代码思路
我们可以利用循环语句与条件语句分别对这道题进行解答。
循环语句解答
输入:首先我们的程序需要一个外界输入的字符串,由“一二三四五六七八九十”构成。
过程:
1.建立一个有序字符串“known_s”,“一二三四五六七八九十”
2.建立一个有序字符串“tar_s”,“壹, 贰,叁,肆,伍,陆,柒,捌,玖,拾”
3.将输入字符串逐个对输入内容与“known_s”比较,得到序号,然后利用得到的序号对“tar_s”进行索引,得到对应汉字。
输出:我们需要输出对应于输入的字符串的汉字“壹, 贰,叁,肆,伍,陆,柒,捌,玖,拾”。
代码内容
Nu=input()
z=''
known_s="零一二三四五六七八九"
tar_s="零、壹、贰、叁、肆、伍、陆、柒、捌、玖"
tar_ls=tar_s.split("、") #将间隔“、”去掉,形成列表
for i in range(len(Nu)):
for j in range(10):
if Nu[i]==known_s[j] :

该博客介绍了如何使用Python的条件语句和循环语句将数字字符串""一二三四五六七八九十""转化为汉字大写""壹, 贰,叁,肆,伍,陆,柒,捌,玖,拾""。通过分析问题并建立有序字符串映射关系,利用循环对比和索引来实现转换。"
122446267,11142112,TypeScript 入门教程:数据类型与编译实践,"['typescript', 'javascript', '前端开发']

5973

被折叠的 条评论
为什么被折叠?



