首页 > 解决方案 > 尝试为用户输入的每个字母分配一个表达式,然后打印该单词和该单词的总和

问题描述

我正在寻找一种快速的解决方案来使用表达式计算多个变量,然后将这些表达式的总数相加。我知道将if案例添加到每个可能的组合不是要走的路。

h = 8 * 6
e = 5 * 6
l = 12 * 6
o = 15 * 6

example: type in any word: hello
>>> hello: 312
  1. 为每个字母变量分配其自己的等效字母字符串。例如a = 'a'
  2. 当 True 时,要求用户输入任何单词。
  3. 如果单词中有一个字母,则为每个字母分配一个表达式。例如a = 1 * 6

之后,我不确定如何轻松处理用户输入的任何字母组合,以便在之后添加总数。

标签: python

解决方案


如果您的字母和值在字典中,您可以在遍历字母时轻松查找值。

例如:

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

推荐阅读