Python 尝试为用户输入的每个字母分配一个表达式,然后打印单词和该单词的合计
我正在寻找一种快速解决方案,用表达式计算多个变量,然后将这些表达式的总数相加。我知道在所有可能的组合中添加Python 尝试为用户输入的每个字母分配一个表达式,然后打印单词和该单词的合计,python,Python,我正在寻找一种快速解决方案,用表达式计算多个变量,然后将这些表达式的总数相加。我知道在所有可能的组合中添加if案例不是一条好路 h = 8 * 6 e = 5 * 6 l = 12 * 6 o = 15 * 6 example: type in any word: hello >>> hello: 312 为每个字母变量指定其自己的等效字母字符串。例如,a='a' 如果为True,则要求用户输入任何单词 如果单词中有字母,请为每个字母指定一个表达式。例如,a=1*6 在那之
if
案例不是一条好路
h = 8 * 6
e = 5 * 6
l = 12 * 6
o = 15 * 6
example: type in any word: hello
>>> hello: 312
a='a'
a=1*6
在那之后,我不确定如何轻松地处理用户输入的字母组合,以便在之后添加总数 如果您的字母和值在字典中,您可以在循环字母时轻松查找值 例如:
letter_values = {
'h': 8 * 6,
'e': 5 * 6,
'l': 12 * 6,
'o': 15 * 6
}
letter_values['h'] # 48
# use get() to return zero if not found
letter_values.get('h', 0) # 48
letter_values.get('&', 0) # 0
有了它,你可以理解单词中的字母,并计算结果的总和:
# for each letter get the value (or 0) and sum them:
sum(letter_values.get(letter, 0) for letter in str)
# result 312
在您的问题中使用未指定的
dict
…但看起来您可能对使用ord()
感兴趣。Get不会返回零,除非您告诉它。If返回None。谢谢@MadPhysician–在第二个示例中有它,但在第一个示例中忘记了它。