Skip to main content

Section 10.10 Write Code Questions

Activity 10.10.1.

Write a program that categorizes each mail message by which day of the week the commit was done. To do this, look for lines that start with β€œFrom”. Then, look for the third word, and keep a running count of each of the days of the week. At the end of the program, print out the contents of the dictionary mail_count (order does not matter). For example, mail_count['Mon'] should be 2.
Solution.
Write a program that categorizes each mail message by which day of the week the commit was done. To do this, look for lines that start with From . Then, look for the third word, and keep a running count of each of the days of the week. At the end of the program, print out the contents of the dictionary mail_count (order does not matter). For example, mail_count[’Mon’] should be 2.

Activity 10.10.2.

Write a program to read through a mail log, build the dictionary user_count to count how many messages have come from each email address, and print the dictionary. For example, user_count['[email protected]'] should be 4.

Activity 10.10.3.

Write a program that creates a dictionary letter_count that keeps track of the amount of times each letter appears in the given phrase. Make sure to account for each letter in its lowercase form. For example letter_count['e'] should be 10.
Solution.
Write a program that creates a dictionary letter_count that keeps track of the amount of times each letter appears in the given phrase. Make sure to account for each letter in its lowercase form. For example letter_count['e'] should be 10.

Activity 10.10.4.

Write a program that reads the words in the string phrase and counts how many times each word appears. Store the words as keys in the dictionary word_dictionary, and then use the in operator as a fast way to check whether the string is in the dictionary. For example, word_dictionary['Writing'] should be 1. (Note: β€˜Writing’ and β€˜writing’ would be counted as two separate words for this question.)
Below is the words.txt file used in Question 5.
Data: words.txt
Writing programs or programming is a very creative
and rewarding activity  You can write programs for
many reasons ranging from making your living to solving
a difficult data analysis problem to having fun to helping
someone else solve a problem  This book assumes that
{\em everyone} needs to know how to program and that once
you know how to program, you will figure out what you want
to do with your newfound skills

We are surrounded in our daily lives with computers ranging
from laptops to cell phones  We can think of these computers
as our personal assistants who can take care of many things
on our behalf  The hardware in our current-day computers
is essentially built to continuously ask us the question
What would you like me to do next

Our computers are fast and have vasts amounts of memory and
could be very helpful to us if we only knew the language to
speak to explain to the computer what we would like it to
do next If we knew this language we could tell the
computer to do tasks on our behalf that were reptitive
Interestingly, the kinds of things computers can do best
are often the kinds of things that we humans find boring
and mind-numbing

Activity 10.10.5.

Write code that reads in the text from the file words.txt and uses the dictionary word_count to count the amount of times a word appears in the file. Watch out for repetition using the .lower() function. For example, word_count['and'] should be 5.
Solution.
Write code that reads in the text from the file words.txt and uses the dictionary word_count to count the amount of times a word appears in the file. Watch out for repetition using the .lower() function. For example, word_count[’and’] should be 5.

Activity 10.10.6.

Write a program that reads the words in the string phrase and counts how many times each word appears. Store the words as keys in the dictionary word_dictionary, and then use the in operator as a fast way to check whether the string is in the dictionary. Make sure to turn all letters in words into lowercase letters in order to avoid any repetition. For example, word_dictionary.get('Writing', 0) should be 0, and word_dictionary['writing'] should be 1.
Below is the romeo.txt file used in Question 7. It contains some of the words that Romeo speaks in Romeo and Juliet.
Data: romeo.txt
But soft what light through yonder window breaks
It is the east and Juliet is the sun
Arise fair sun and kill the envious moon
Who is already sick and pale with grief

Activity 10.10.7.

Write code to read through the lines of the file romeo.txt, break each line into a list of words, and then loop through each of the words in the line and count each word using the dictionary counts. For example, counts['is'] should be 3.
Solution.
Write code to read through the lines of the file romeo.txt, break each line into a list of words, and then loop through each of the words in the line and count each word using the dictionary counts. For example, counts[’is’] should be 3.

Activity 10.10.8.

Write code that adds the key β€˜two’ with a value of β€˜dos’ to the dictionary eng2sp. For example, eng2sp['two'] should be 'dos'.
The next two questions are associated with the following text file which has an email address followed by the number of messages from that address.

Activity 10.10.9.

Add code to the program below to figure out who has the most messages in the file. After all the data has been read and the dictionary message_count has been created, look through the dictionary using a maximum loop (see Chapter 5: Maximum and minimum loops) to find who has the most messages, and print how many messages the person has. For example, message_count['[email protected]'] should be 5.
Solution.
Add code to the program below to figure out who has the most messages in the file. After all the data has been read and the dictionary message_count has been created, look through the dictionary using a maximum loop (see Chapter 5: Maximum and minimum loops) to find who has the most messages, and print how many messages the person has. For example, message_count[’[email protected]’] should be 5.

Activity 10.10.10.

Write a program to record in the dictionary message_count the total number of messages from each domain name (not the whole address, just the part after the @ and before the space). At the end of the program, print out the contents of your dictionary. The domains should be the keys of the dictionary, and the counts of the domains should be the values of the dictionary. For example, message_count['iupui.edu'] should be 8.
You have attempted of activities on this page.