私はオンライン教科書を通じて完全な初心者の学習のpythonだと、これは演習の一つである:Pythonコードを編集して希望の回答のみを返す方法は?
は ファイルを読みとの行を探し、ファイル名の入力を要求するプログラムを作成し、形式:
X-DSPAM-自信:
あなたは、「X-DSPAM-自信:」で始まる行に遭遇0.8475離れラインを を引くには、ライン上の浮動小数点数を抽出します。これらの行を と数え、これらの行からスパム信頼値の合計を計算してください。 ファイルの最後に達したら、平均スパム信頼度 を出力します。
は、ファイル名を入力します。mbox.txt
平均スパム確信:MBOX-short.txt
平均スパム確信:0.750718518519
0.894128046745
をファイル名を入力します。これまでに書いたコードです:
fname = input('Enter file name: ')
count = 0
total = 0
try:
fhand = open(fname)
for line in fhand:
if line.strip().startswith('X-DSPAM-Confidence:'):
count = count + 1
flt = float(line.split(':')[1])
total = total + flt
print(total/count)
except:
print('Bad file name: ', fname)
出力は数字の長いリストですが、リストの最後の数字は 'mbox.txt'と 'mbox-short.txt'の両方に正しい答えを与えます。正解のみを印刷するには、このコードを変更する必要がありますか?
最後の項目だけを印刷したい場合は、ループの後に 'print'を移動します。 – khelwood