I l@ve RuBoard Previous Section Next Section

8.4 Exercises

  1. Describing a directory. Write a function that takes a directory name and describes the contents of the directory, recursively (in other words, for each file, print the name and size, and proceed down any eventual directories).

  2. Modifying the prompt. Modify your interpreter so that the prompt is, instead of the >>> string, a string describing the current directory and the count of the number of lines entered in the current Python session.

  3. Avoiding regular expressions. Write a program that obeys the same requirements as pepper.py but doesn't use regular expressions to do the job. This is somewhat difficult, but a useful exercise in building program logic.

  4. Wrapping a text file with a class. Write a class that takes a filename and reads the data in the corresponding file as text. Make it so that this class has three methods: paragraph, line, word, each of which take an integer argument, so that if mywrapper is an instance of this class, printing mywrapper.paragraph[0] prints the first paragraph of the file, mywrapper.line[-2] prints the next-to-last line in the file, and mywrapper.word[3] prints the fourth word in the file.

  5. Common tasks. These exercises don't have solutions in Appendix C, but instead are selected from the examples shown in Chapter 9. Try them now before you read Chapter 9 if you wish to be challenged!

    • How would you make a copy of a list object? How about a dictionary?

    • How would you sort a list? How about randomizing the order of its elements?

    • If you've heard of a stack data structure before, how would you code it?

    • Write a program to count the number of lines in a file.

    • Write a program that prints all the lines in a file starting with a # character.

    • Write a program that prints the fourth word in each line of a file.

    • Write a program that counts the number of times a given word exists in a file.

    • Write a program that looks for every occurrence of a string in all the files in a directory.

I l@ve RuBoard Previous Section Next Section