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
之后,我不确定如何轻松处理用户输入的任何字母组合,以便在之后添加总数。
解决方案
如果您的字母和值在字典中,您可以在遍历字母时轻松查找值。
例如:
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
推荐阅读
- flutter - 需要-布局需要-油漆需要-合成-位-更新
- c# - 无效签名 - JWT 需要有三个段
- firebase - Firebase Firestore 安全规则:在安全规则中使用查询?
- java - 生成随机字符数
- json - 使用 jq 遍历 json 以删除空字段
- powershell - 如何在 PowerShell 中 Ping DirectAccess IPSec 隧道端点?
- json - 当切片是响应的一部分时,将嵌套数据响应展开为结构
- c++ - Boost_1_72_0 错误:宏“test”传递了 2 个参数,但只需要 1 个
- sql - SQL Server 错误 - 转换溢出 int
- postgresql - 不使用 union 同时查看两个 SQL 表