解决遇到以“X-DSPAM-Confidence:”开头的行求平均值

python一个小小的笔记,对于初学者的我来说,琢磨这道题花了一些时间。具体的问题和注意事项和实现方式都在下面的代码中,若不清楚可以留言!!!

题目:写一个程序,让用户输入文件名,然后读取文件,按行的形式j进行查看。遇到以“X-DSPAM-Confidence:”开头的行,提取该行中的浮点数。统计行数,文件读取结束后,打印垃圾邮件平均值。

#.readline() 和 .readlines() 之间的差异是后者一次读取整个文件,返回的是一个数组
#Question:编写一个程序,让用户输入文件名,然后读取文件,按行的形式j进行查看。
#遇到以“X-DSPAM-Confidence:”开头的行,提取该行中的浮点数。统计行数,文件读取结束后,打印垃圾邮件平均值。
fname=raw_input('Enter file Name:')
fhand=open(fname)
book=fhand.readlines()
count=0
dateSum=0
for index in range(1,len(book)):
    if book[index].find('X-DSPAM-Confidence:')!=-1:   #返回值=-1表示没找到相应的字段
        x=book[index].find(':')    #不能直接find(X-DSPAM-Confidence:)如果直接find这个字段,若首行是X-DSPAM-Confidence:那么返回的索引值便是0
        y=book[index]
        date=float(y[x+2:])  
dateSum=date+dateSum count=count+1 #print(date) #此处输出的是每个具体的浮点数 print ('以“X-DSPAM-Confidence:”开头的总行数为'+str(count)+'行,总浮点数数值相加为'+str(dateSum)+'其平均数为'+str(dateSum/count))

  结果图:

 

posted @ 2017-12-11 19:32  we_are_young  阅读(477)  评论(0编辑  收藏  举报