您在這裡

Exercises

24 二月, 2015 - 09:30

Exercise 9.2 Write a program that categorizes each mail message by which day of the week the commit was done. To do this look for lines which start with “From”, then look for the third word and then keep a running count of each of the days of the week. At the end of the program print out the contents of your dictionary (order does not matter).

Sample Line:From stephen.marquard@uct.ac.za Sat Jan 5 09:14:16 2008

Sample Execution: python dow.pyEnter a file name: mbox-short.txt{'Fri': 20, 'Thu': 6, 'Sat': 1}

Exercise 9.3 Write a program to read through a mail log, and build a histogram using a dictionary to count how many messages have come from each email address and print the dictionary.

Enter file name: mbox-short.txt{'gopal.ramasammycook@gmail.com': 1, 'louis@media.berkeley.edu': 3,'cwen@iupui.edu': 5, 'antranig@caret.cam.ac.uk': 1,'rjlowe@iupui.edu': 2, 'gsilver@umich.edu': 3,'david.horwitz@uct.ac.za': 4, 'wagnermr@iupui.edu': 1,'zqian@umich.edu': 4, 'stephen.marquard@uct.ac.za': 2,'ray@media.berkeley.edu': 1}

Exercise 9.4 Add code to the above program to figure out who has the most messages in the file.

After all the data has been read and the dictionary has been created, look through the dictionary using a maximum loop (see Section 5.7.2) to find who has the most messages and print how many messages the person has.

Enter a file name: mbox-short.txtcwen@iupui.edu 5

Enter a file name: mbox.txtzqian@umich.edu 195

Exercise 9.5 This program records the domain name (instead of the address) where the message was sent from instead of who the mail came from (i.e. the whole e-mail address). At the end of the program print out the contents of your dictionary.

python schoolcount.pyEnter a file name: mbox-short.txt{'media.berkeley.edu': 4, 'uct.ac.za': 6, 'umich.edu': 7,'gmail.com': 1, 'caret.cam.ac.uk': 1, 'iupui.edu': 8}