Assignment 3 Part 1 (submitted by Karl on Feb 6, 23:26)

Beautiful Code
Ka-Ping Yee

AUTHORS:   Adam   Calvin   Chris   David   Derek   Hunter   Jacob   Jason   Jun   Karl   Kevin   Michael   Morgan   Nadia   Nerissa   Omair   Peter   Peterson   Ping   Richard   Rosie   Scott   Thanh   Varun

Download this file.

COMMENTS

Feb 18, 04:00 - Richard (line 22): Code is easy to follow and clean. It was a little hard to understand the if word: return word on line 22. A brief comment may have helped.

Feb 18, 22:28 - Richard (line 22): Oh okay, nevermind. I got it now. =P

Feb 22, 17:54 - Ping (line 11): You don't need to declare these variables global. Whenever a variable is mentioned outside of a function, it is already global.

Feb 22, 17:56 - Ping (line 16): The only declaraction you need to make your program work is global word. The global keyword is for declaring global variables that are assigned within the function; you can always use global variables even when they're not declared global.

Please log in if you would like to add comments.

   

  1 #!/usr/bin/env python
  2 
  3 ## $Id: misspels.py,v 1.3 2003/02/07 07:25:38 quarl Exp $
  4 
  5 ## Spell check a document given Nadia's speling.py.
  6 import nadiah_speling
  7 import re
  8 
  9 nadiah_speling.import_dictionary("dict.txt")
 10 
 11 global input, word, words
 12 word = words = None
 13 input = open('input.txt')
 14 
 15 def get_next_word():
 16     global input, word, words
 17     word = None
 18     while 1:
 19         while words:
 20             word = words[0]
 21             words = words[1:]
 22             if word: return word
 23 
 24         line = input.readline()
 25         if not line: return None
 26 
 27         words = re.split('[^A-Za-z]+', line)
 28 
 29 bad_words = {}
 30 
 31 while get_next_word():
 32     if not nadiah_speling.exists(word):
 33         bad_words[word] = bad_words.get(word, 0) + 1
 34 
 35 for word in bad_words:
 36     print "%s (%d)" % (word, bad_words[word])