Created
October 7, 2017 12:52
-
-
Save MichelleDalalJian/15dad18def33b4124659aa89a5af5c98 to your computer and use it in GitHub Desktop.
7.2 Write a program that prompts for a file name, then opens that file and reads through the file, looking for lines of the form: X-DSPAM-Confidence: 0.8475 Count these lines and extract the floating point values from each of the lines and compute the average of those values and produce an output as shown below. Do not use the sum() function or …
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Use the file name mbox-short.txt as the file name | |
fname = input("Enter file name: ") | |
fhand = open(fname) | |
count = 0 | |
for line in fhand: | |
if line.startswith("X-DSPAM-Confidence:") : | |
count = count + 1 | |
total = 0 | |
for line in fhand: | |
if line.startswith("X-DSPAM-Confidence:"): | |
line = float(line[21:]) | |
total = line + total | |
average = total/ count | |
print("Average spam confidence:",average) |
Easiest answer:
fil = open('C:\Users\admin\OneDrive\Desktop\mbox-short.txt','r')
cnt = 0
a=0
for ch in fil:
if not ch.startswith('X-DSPAM-Confidence:'):
continue
print(ch.rstrip())
cnt+=1
i=ch[20:]
a+=float(i)
print("Average spam Confidence:",a/cnt)
Use the file name mbox-short.txt as the file name
fname = input("Enter file name: ")
fhand = open(fname)
count = 0
for line in fhand:
if line.startswith("X-DSPAM-Confidence:") :
count = count + 1
total = 0
for line in fhand:
if line.startswith("X-DSPAM-Confidence:"):
line = float(line[21:])
total = line + total
average = total/ count
print("Average spam confidence:",average)
In the above code the logic in the line i couldn't got can anyone explain me please?
line = float(line[21:])
total = line + total
how 21 ?
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
fname = input("Enter file name: ")
fh = open(fname)
counter =0
result =0
for line in fh:
if not line.startswith("X-DSPAM-Confidence:") : continue
index = line.find(":")
value = line[index+1:len(line)]
number = value.strip()
float_number =float(number)
result = result + float_number
counter = counter + 1
print("Average spam confidence: {}".format(result/counter))