如何对浮点数求和

我有一个文件,其中包含一个波斯语句子,然后是一个制表符,一个波斯语单词,一个制表符,然后每行都有一个英语单词。我还有一本带有键和浮点值的词典。我也必须在词典中的每一行中找到文件中的单词。然后返回它们的值。然后我必须计算每个单词的对数,最后分别计算每行单词的总和。问题是,当我想要计算和时,出现了这个错误:TypeError:'Float'对象不可迭代。我怎么才能修好它?

选择 | 换行 | 行号
  1. import math
  2.  
  3. probabilities = {"شور": 0.02, "نمک": 0.05,"زندگی": 0.07, "غذاهای": 0.01, "غذای": 0.05}
  4.  
  5. filename = "F.txt"
  6.  
  7. for line in open(filename, encoding="utf-8"):
  8.     list_line = line.split("\t")
  9.     words = list_line[0].split()
  10.     for key, value in probabilities.items():
  11.         for word in words:
  12.             if word == key:
  13.                 result = sum(math.log(value))
  14.                 print(word, result, end=" ")
  15.     print()

文件:https://www.dropbox.com/s/ag5at9iuuln2x02/F.txt?dl=0
如果在代码中省略sum,然后运行它,则可以看到这些数字是如何定位的。
提示:我想把每一行的单词分别加起来。
例如,如果我有4个句子,我最后应该有4个数字。

# 回答1


你的词典不正确。检查引号。至于错误,除非包含完整的错误消息,否则无法判断其来源。
# 回答2


当我复制并粘贴代码时,这里的引号打印如下。但在我的笔记本电脑上,这是正确的。对于错误:我只想知道如何计算浮点数的和。就这件事
# 回答3


无法从信息中辨别(不是完整的错误消息)。在后面打印关键字、值和单词

选择 | 换行 | 行号
  1. for word in words:

标签: python

添加新评论