Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Computer Programming Chapter 10 Exercises Exercise 1: Revise a previous program

ID: 3586859 • Letter: C

Question

Computer Programming

Chapter 10 Exercises

Exercise 1: Revise a previous program as follows: Read and parse the “From”

lines and pull out the addresses from the line. Count the number of messages from

each person using a dictionary.

After all the data has been read, print the person with the most commits by

creating a list of (count, email) tuples from the dictionary. Then sort the list in

reverse order and print out the person who has the most commits.

Sample Line:

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

Enter a file name: mbox-short.txt

cwen@iupui.edu 5

Enter a file name: mbox.txt

zqian@umich.edu 195

Exercise 2: This program counts the distribution of the hour of the day for each

of the messages. You can pull the hour from the “From” line by finding the time

string and then splitting that string into parts using the colon character. Once

you have accumulated the counts for each hour, print out the counts, one per line,

sorted by hour as shown below.

Sample Execution:

python timeofday.py

Enter a file name: mbox-short.txt

04 3

06 1

07 1

09 2

10 3

11 6

14 1

15 2

16 4

17 2

18 1

19 1

Exercise 3: Write a program that reads a file and prints the letters in decreasing

order of frequency. Your program should convert all the input to lower case and

only count the letters a-z. Your program should not count spaces, digits, punctuation,

or anything other than the letters a-z. Find text samples from several different

languages and see how letter frequency varies between languages. Compare your

results with the tables at wikipedia.org/wiki/Letter_frequencies.

Explanation / Answer

Exercise 3 in Python

filename = raw_input("Enter the File Name: ")

try:

    fhand = open(filename)

except:

    print "The File name is not exist!"

    quit()

#Read the give file into a big string

words = fhand.read()

#lower the characters in string, don't be concerned about digits, punctuation etc.

words = words.lower()

# Separate words or sting into single letters

twords = tuple(words)

letters = list()

for n in twords:

#we only choose the alphabet letters

    if n.isalpha() == True:

        letters.append(n)

# Letters counting function starts from here now we can count .

letter = dict()

for w in letters:

    letter[w] = letter.get(w,0)+1

   

letterf = list()

for k,v in letter.items():

    letterf.append((v,k))

letterf.sort(reverse=True)

for f,l in letterf[:]:

    print l,f

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote