8.15: Lists (Exercises)
- Page ID
Exercise 4: Download a copy of the file from www.py4e.com/code3/romeo.txt
Write a program to open the file
romeo.txt and read it line by line. For each line, split the line into a list of words using the
For each word, check to see if the word is already in a list. If the word is not in the list, add it to the list.
When the program completes, sort and print the resulting words in alphabetical order.
Enter file: romeo.txt ['Arise', 'But', 'It', 'Juliet', 'Who', 'already', 'and', 'breaks', 'east', 'envious', 'fair', 'grief', 'is', 'kill', 'light', 'moon', 'pale', 'sick', 'soft', 'sun', 'the', 'through', 'what', 'window', 'with', 'yonder']
Exercise 5: Write a program to read through the mail box data and when you find line that starts with "From", you will split the line into words using the
split function. We are interested in who sent the message, which is the second word on the From line.
From firstname.lastname@example.org Sat Jan 5 09:14:16 2008
You will parse the From line and print out the second word for each From line, then you will also count the number of From (not From:) lines and print out a count at the end.
This is a good sample output with a few lines removed:
python fromcount.py Enter a file name: mbox-short.txt email@example.com firstname.lastname@example.org email@example.com [...some output removed...] firstname.lastname@example.org email@example.com firstname.lastname@example.org email@example.com There were 27 lines in the file with From as the first word
Exercise 6: Rewrite the program that prompts the user for a list of numbers and prints out the maximum and minimum of the numbers at the end when the user enters "done". Write the program to store the numbers the user enters in a list and use the
min() functions to compute the maximum and minimum numbers after the loop completes.
Enter a number: 6 Enter a number: 2 Enter a number: 9 Enter a number: 3 Enter a number: 5 Enter a number: done Maximum: 9.0 Minimum: 2.0