Python如何将输入中的字母转换为对应数字并累加求和
实现字母转数字求和的代码修正
你可以直接使用修改后的代码:
name = input("Name: ") # 过滤仅保留字母 cleaned_name = filter(str.isalpha, name) cleaned_name = "".join(cleaned_name) print("Your 'cleaned up' name is: ", cleaned_name) numbers = {'a':1,'b':2,'c':3,'d':4,'e':5,'f':6,'g':7,'h':8,'i':9,'j':10,'k':11,'l':12,'m':13,'n':14,'o':15,'p':16, 'q':17,'r':18,'s':19,'t':20,'u':21,'v':22,'w':23,'x':24,'y':25,'z':26} # 统一转小写,避免大写字母匹配字典失败 cleaned_name_lower = cleaned_name.lower() num_list = [] for char in cleaned_name_lower: num_list.append(str(numbers[char])) # 拼接输出格式并计算总和 print(f"{'+'.join(num_list)} = {sum(map(int, num_list))}")
核心调整逻辑:
- 移除了没用的
import re导入,你当前的过滤逻辑没有用到正则相关功能 - 新增了小写转换步骤,兼容用户输入大写字母的场景
- 直接遍历过滤后的字符串的每个字符,查询对应数字存入列表
- 用
join方法拼接数字为+连接的表达式,同时用sum直接计算所有数字的总和
输入jay1joe2时,输出结果完全符合你给出的示例:10+1+25+10+15+5 = 66
内容的提问来源于stack exchange,提问作者altalio
相关产品推荐
相关产品推荐

