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'
  • 如果为True,则要求用户输入任何单词
  • 如果单词中有字母,请为每个字母指定一个表达式。例如,
    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–在第二个示例中有它,但在第一个示例中忘记了它。