在for循环(Python)中一起添加值

在for循环(Python)中一起添加值,python,Python,这就是我到目前为止所做的: word = input('Enter word: ') SCORES = { 'a' : 1, 'b' : 3, 'c' : 3 , 'd' : 2, 'e' : 1, 'f' : 4, 'g' : 2, 'h' : 4, 'i' : 1, 'j' : 8 , 'k' : 5, 'l' : 1, 'm' : 3, 'n' : 1, 'o' : 1, 'p' : 3, 'q' : 10, 'r' : 1, 's' : 1, 't' : 1, 'u' :

这就是我到目前为止所做的:

word   = input('Enter word: ')
SCORES = {
  'a' : 1, 'b' : 3, 'c' : 3 , 'd' : 2, 'e' : 1, 'f' : 4, 'g' : 2,
  'h' : 4, 'i' : 1, 'j' : 8 , 'k' : 5, 'l' : 1, 'm' : 3, 'n' : 1,
  'o' : 1, 'p' : 3, 'q' : 10, 'r' : 1, 's' : 1, 't' : 1, 'u' : 1,
  'v' : 4, 'w' : 4, 'x' : 8 , 'y' : 4, 'z' : 10,
}

for letter in word:
  result = SCORES[letter]

我想要它,这样我就可以把这些值相加得到22。我如何才能做到这一点?

试试这个,这是惯用的解决方案:

Enter word: quiz
10
1
1
10
result = 0 # create variable outside the loop
for letter in word:   
   result += SCORES[letter] # add score for each letter 
print(result)   # print total

在Python中,只要有可能,我们都喜欢使用和/或而不是显式循环。它们比显式循环更短、更简单,而且通常更快

试试这个,这是惯用的解决方案:

result = 0 # create variable outside the loop
for letter in word:   
   result += SCORES[letter] # add score for each letter 
print(result)   # print total

在Python中,只要有可能,我们都喜欢使用和/或而不是显式循环。它们比显式循环更短、更简单,而且通常更快

可能越来越短,但并非所有操作都可以在列表理解或生成器表达式中完成。可能越来越短,但并非所有操作都可以在列表理解或生成器表达式中完成。