projects
/
getaclue.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Added check for non-alphabetic words
[getaclue.git]
/
crosswordpuzzle.py
diff --git
a/crosswordpuzzle.py
b/crosswordpuzzle.py
index
7ee206f
..
6283920
100644
(file)
--- a/
crosswordpuzzle.py
+++ b/
crosswordpuzzle.py
@@
-93,6
+93,11
@@
class TooLongWordException (Exception):
self.word = word
self.length = length
self.word = word
self.length = length
+# exception for words containing non-alpha characters
+class WordCharsException (Exception):
+ def __init__ (self, word):
+ self.word = word
+
# exception for intersecting words
class IntersectWordException (Exception):
def __init__ (self, word, length):
# exception for intersecting words
class IntersectWordException (Exception):
def __init__ (self, word, length):
@@
-431,6
+436,10
@@
class CrosswordPuzzle:
# if the grid is frozen then abort
self.assert_unfrozen_grid ()
# if the grid is frozen then abort
self.assert_unfrozen_grid ()
+ # if the word has non-alphabetic characters
+ if not word.isalpha ():
+ raise WordCharsException (word)
+
# if the word length greater than totalrows - startrow
if len(word) > self.rows - row:
raise TooLongWordException (word, len(word))
# if the word length greater than totalrows - startrow
if len(word) > self.rows - row:
raise TooLongWordException (word, len(word))
@@
-485,6
+494,10
@@
class CrosswordPuzzle:
# if the grid is frozen then abort
self.assert_unfrozen_grid ()
# if the grid is frozen then abort
self.assert_unfrozen_grid ()
+ # if the word has non-alphabetic characters
+ if not word.isalpha ():
+ raise WordCharsException (word)
+
# is the word length greater than totalcols - startcol?
if len(word) > self.cols - col:
raise TooLongWordException (word, len(word))
# is the word length greater than totalcols - startcol?
if len(word) > self.cols - col:
raise TooLongWordException (word, len(word))