Pythonで数値の標準偏差を見つけようとしています。これは入門レベルのプログラミング クラスなので、まだ導入されていない関数を使用することは避けています。
このプログラムを使用すると、リストに数値を追加し、そのリストを分析してから、平均、最小、最大、STDev などを引き出すことができます。STDev 以外のすべてを正常に表示できました。取得し続けるエラーは float object not iterable です。関連部分のコードは次のとおりです。
elif (menuchoice == 4):
sum = 0.0
print("std deviation")
stdev = 0.0
for i in range(listcount):
scorenum4 = eval(scorenum[i])
scoreaverage2 += scorenum4
scoreaverage2 /= listcount
for i in range(listcount):
stdev = []
scorenum3 = eval(scorenum[i])
stdev += (scorenum3 - scoreaverage2)**2
dev = sqrt((stdev)/listcount-1)
print(dev)
どんな助けでもいいです、ありがとう。
-自己編集 - for ループから stdev=[] を削除したところです。なぜそこにあったのかわかりません - 今答えを得ていますが、数学的にはオフです
- dev = sqrt((stdev)/listcount) に変更すると、数学エラーが修正され、DSM もこの修正を確認しました。ありがとうございました
- プログラムは正常に機能しています。ウート。皆さんアドバイスありがとうございます。