8.4 Exercises

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.



Learning Python
Learning Python: Powerful Object-Oriented Programming
ISBN: 0596158068
EAN: 2147483647
Year: 1999
Pages: 156
Authors: Mark Lutz

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net