は、ファイル名の入力を求められたプログラムを書いて、選択した行の番号をフロートそれらを追加して計算し、そのファイルを開き、 は、フォームの行を探して、ファイルを介して読み取ります。カウントラインは、平均
X-DSPAM-Confidence: 0.8475
これらのラインをカウントし ラインの各々から浮動小数点値を抽出し、それらの値の平均値を計算し、以下に示すように 出力を生成します。ソリューション内に関数または変数 という名前の
sum
を使用しないでください。あなたは以下のテストファイル名としてmbox-short.txt
を入力している場合あなたは http://www.pythonlearn.com/code/mbox-short.txt
でサンプルデータをダウンロードすることができます。
これは私のコードであり、動作しません。あなたはそれを修正する方法を知っている場合は、(可能な限りシンプルに)説明してください:
# Use the file name mbox-short.txt as the file name
fname = raw_input("Enter file name: ")
fh = open(fname)
count = 0
total = 0
for line in fh:
if not float(line.startswith("X-DSPAM-Confidence:")) : continue
count = count + 1
float(total) = float(total) + float(line)
float(average = total/count)
print "Average spam confidence: ", average
正しい答えは次のようになります。あなたが実際にからfloat値を抽出するために、あなたのコード内で何もしていないAverage spam confidence: 0.750718518519
行の残りの部分から浮動小数点数の文字列を抽出してから変換するか、算術演算を行う必要があります。 「行」にはまだ行全体が含まれています。 – mpez0
まず、コードから構文エラーを取り除くことです。あなたはロジックを修正しようとする前にそれを行います。あなたはここであなたの質問をする前にそれをしておかなければなりません。あなたはそのように良く学びます。 –