Apr-09-2019, 12:43 PM
So I have this assignment for a coursera course I am taking. Here is the assignment:
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 a variable named sum in your solution.
You can download the sample data at http://www.py4e.com/code3/mbox-short.txt when you are testing below enter mbox-short.txt as the file name.
And here is what I have written for my code:
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 a variable named sum in your solution.
You can download the sample data at http://www.py4e.com/code3/mbox-short.txt when you are testing below enter mbox-short.txt as the file name.
And here is what I have written for my code:
fname = input("Enter file name: ") fh = open(fname).read() count=0 total=0 for line in fh: if not line.startswith("X-DSPAM-Confidence:") : continue count=count+1 pos=line.find(":") number= line[pos+1:] total=total+float(number) avg = total/count print("Average spam confidence: ",avg)However, when I try to test the code, it says that I cannot divide by zero, which I suppose means there is a problem with my count and total for the average. Can anyone see if they can spot where I've gone wrong? Thanks in advance.