You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为单个单词中的多个字母分别分配对应数字?

解决单词字母转顺序数字的问题

嘿,我来帮你搞定这个需求~你的思路其实是对的,已经成功创建了字母到数字的映射,但问题出在没有遍历输入单词的每个字符,原代码只能处理单个字符的输入,输入单词自然会报错。

问题分析

你的原代码里,print values[user_entry]是直接拿整个输入去字典里找键,但字典的键是单个字母,所以输入"code"这种单词时,字典里没有"code"这个键,就会抛出KeyError。我们需要做的是遍历输入单词的每一个字母,分别获取对应的数字。

修改后的代码

下面是调整后的代码,完美实现你要的功能:

import string

# 先完成字母到数字的映射(这部分你写的没问题)
values = dict()
for index, letter in enumerate(string.ascii_lowercase):
    values[letter] = index + 1

# 获取用户输入,转成小写兼容大小写输入
user_entry = raw_input("Enter a word: ").lower()

# 遍历每个字符,收集对应的数字(过滤非字母字符)
letter_numbers = [values[char] for char in user_entry if char in values]

# 直观输出每个字母对应的数字
print("每个字母的对应数字:")
for char, num in zip(user_entry, letter_numbers):
    print(f"{char} 对应 {num}")

关键修改点说明

  • 加入.lower():把用户输入转成小写,这样不管输入大写还是小写字母,都能正确匹配字典里的键;
  • 遍历输入字符:用列表推导式逐个处理每个字母,收集对应的数字;
  • 过滤非字母:if char in values可以避免用户输入空格、符号等非字母字符时出错;
  • 友好输出:用zip把字母和数字配对,逐个打印,和你举的"code"例子输出格式一致。

额外提示

如果你用的是Python 3,记得把raw_input改成input(),因为Python 3已经移除了raw_input函数,统一用input()获取用户输入。

内容的提问来源于stack exchange,提问作者Joey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 04:02:45