私は、ペルシア語の文章、タブ、ペルシア語、タブ、そしてその各行の英単語を含むファイルを持っています。私はまた、キーと浮動小数点値を持つ辞書を持っています。私は辞書にある各行のファイルの言葉も見つけなければなりません。そしてそれらの値を返します。次に、各単語の対数を計算し、最終的に各行の合計を個別に計算する必要があります。問題は、合計を計算するときに、このエラーが発生することです。TypeError: 'float'オブジェクトは反復可能ではありません。どうすれば修正できますか?Pythonで浮動小数点の合計を取得する方法は?
import math
probabilities = {"شور": 0.02, "نمک": 0.05,"زندگی": 0.07, "غذاهای": 0.01, "غذای": 0.05}
filename = "F.txt"
for line in open(filename, encoding="utf-8"):
list_line = line.split("\t")
words = list_line[0].split()
for key, value in probabilities.items():
for word in words:
if word == key:
result = sum(float(math.log(value)))
print(word, result, end=" ")
print()
私はそれを実行すると、このエラーが表示されます:
Traceback (most recent call last):
File "C:\example.py", line 14, in <module>
result = sum(float(math.log(value)))
TypeError: 'float' object is not iterable
F.txt([https://www.dropbox.com/s/ag5at9iuuln2x02/F.txt?dl=0):
شور ورود دانشگاه جالب توجه شور passion
۱۳ راهکار شور اشتیاق واقعی زندگی شور passion
نمک موجود ذائقه غذاهای شور عادت شور salty
از مضرات نمک غذای شور بدانید شور salty
私は別に、各ラインの合計を計算する必要があるとしてい最後に各行に1つの数字だけが表示されます。
あなたの質問を「編集」できますので、確率は標準の文字で動作しますか?どこでも邪悪な引用符=>構文エラー。そして残りのコードは間違って間違っています(実際にはすべての行が間違っています、ごめん!) –
これはより大きなコードの一部です。私はここでそれを要約した。それは間違っているとは言えません。私は浮動小数点を合計したいだけで、その部分ではうまくいきません。 – Vahideh
@ Jean-FrançoisFabre実際にはコードは動作しますが、左から右へ言語の問題があるため、少なくとも私のブラウザでは間違って表示されます。私はコードをカットアンドペーストし、それが実行され、記載されたエラーを与える。 –