2

各単語を単語で調べ、辞書で調べてから、辞書の値をカウンターに追加するコードを書いています。ただし、カウンターを出力すると、if ステートメントから最後の数字しか取得できません。ループ内に印刷カウンターを配置すると、個々の単語ごとにすべての数値が取得されますが、合計値は取得されません。私のコードは次のとおりです。

dictionary = {word:2, other:5, string:10}
words = "this is a string of words you see and other things"
if word in dictionary.keys():
   number = dictionary[word]
   counter += number
   print counter

私の例は私に与える:

[10]
[5]

15実際のコードのように、単語は単一の文字列ではなく、ループされている多くの文字列です。誰でもこれで私を助けることができますか?

4

3 に答える 3

1

そこにループが見られないので、そのコードで何をしているのかわかりません。ただし、必要なことを行う方法は次のとおりです。

sum(dictionary[word] for word in words.split() if word in dictionary)
于 2013-08-17T22:20:52.710 に答える