我是通過網上購書一個完整的初學者學習蟒蛇,這是演習之一:如何編輯Python代碼以僅返回所需的答案?
寫一個程序,提示輸入文件名,然後通過 文件閱讀和查找的行形式:
X-DSPAM-信心:0.8475
當你遇到與「X-DSPAM-信心:」開始的行拉 開行提取就行了浮點數。計數 這些行,然後計算這些行中垃圾信任值 的總數。當您到達文件的末尾時,打印出平均垃圾郵件信心 。
輸入文件名:mbox.txt
平均垃圾郵件可信度:0.894128046745
輸入文件名:MBOX-short.txt
平均垃圾郵件可信度:0.750718518519
這是我迄今爲止編寫的代碼:
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