我是一个完整的初学者,通过在线教科书学习python,这是一个练习:
编写程序以提示输入文件名,然后通读 文件并查找表单行:
X-DSPAM可信:0.8475
当您遇到以“X-DSPAM-Confidence:”拉开头的行时 除了线以提取线上的浮点数。计数 这些行然后计算垃圾邮件置信度值的总和 从这些方面来看。当你到达文件的末尾时,打印出来 平均垃圾信心。
输入文件名: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'的正确答案。我需要在此代码中更改以使其仅打印正确答案?
答案 0 :(得分:1)
仅在循环完成后打印。
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)