新手编程作业求助:如何将多位数转换为单个数字对应英文单词
解决方案
你的现有代码仅支持单个数字转换,要实现多位数的逐字符转英文单词,核心思路是将输入的数字以字符串形式处理,这样可以直接遍历每个字符,逐个匹配对应的英文单词。以下是修改后的实现:
def convert_text(num_str): arr = ['zero','one','two','three','four','five','six','seven','eight','nine'] word_list = [] # 遍历输入字符串的每个数字字符 for char in num_str: # 将字符转为整数作为数组索引,取出对应单词 word_list.append(arr[int(char)]) # 用空格拼接所有单词 return ' '.join(word_list) # 直接获取输入的字符串,无需转成整数 user_input = input() print(convert_text(user_input))
关键调整说明:
- 保留输入的字符串格式:不用
int()转换输入,直接处理每个字符,避免多位数拆分的麻烦 - 函数参数化:给
convert_text添加参数接收输入字符串,避免依赖全局变量 - 批量处理逻辑:通过循环遍历每个数字字符,收集对应的英文单词,最后拼接成空格分隔的结果
测试示例:输入15342,输出one five three four two,完全符合需求。
内容的提问来源于stack exchange,提问作者khôi lê
相关产品推荐
相关产品推荐

