You are here

Exercises

23 February, 2015 - 16:53

Exercise 7.1 Write a program to read through a file and print the contents of the

file (line by line) all in upper case. Executing the program will look as follows:

python shout.pyEnter a file name: mbox-short.txtFROM STEPHEN.MARQUARD@UCT.AC.ZA SAT JAN 5 09:14:16 2008RETURN-PATH: POSTMASTER@COLLAB.SAKAIPROJECT.ORGRECEIVED: FROM MURDER (MAIL.UMICH.EDU [141.211.14.90])  BY FRANKENSTEIN.MAIL.UMICH.EDU (CYRUS V2.3.8) WITH LMTPA;  SAT, 05 JAN 2008 09:14:16 -0500

You can download the file from www.py4inf.com/code/mbox-short.txt

Exercise 7.2 Write a program to prompt for a file name, and then read through

the file and look for lines of the form:

X-DSPAM-Confidence: 0.8475

When you encounter a line that starts with “X-DSPAM-Confidence:” pull apart the line to extract the floating point number on the line. Count these lines and the compute the total of the spam confidence values from these lines. When you reach the end of the file, print out the average spam confidence.

Enter the file name: mbox.txtAverage spam confidence: 0.894128046745

Enter the file name: mbox-short.txtAverage spam confidence: 0.750718518519

Test your file on the mbox.txt and mbox-short.txt files.

Exercise 7.3 Sometimes when programmers get bored or want to have a bit of fun, they add a harmless Easter Egg to their program (en.wikipedia.org/wiki/Easter_egg_(media)). Modify the program that prompts the user for the file name so that it prints a funny message when the user types in the exact file name ’na na boo boo’. The program should behave normally for all other files which exist and don’t exist. Here is a sample execution of the program:

python egg.pyEnter the file name: mbox.txtThere were 1797 subject lines in mbox.txt

python egg.pyEnter the file name: missing.tyxtFile cannot be opened: missing.tyxt

python egg.pyEnter the file name: na na boo booNA NA BOO BOO TO YOU - You have been punk'd!

We are not encouraging you to put Easter Eggs in your programs - this is just an exercise.