On 11/18/2011 10:29 AM, John wrote:
Hi all,
When i run a doctest on this piece of code (shown at bottom) i get
this error message [from the doctest]:
Trying:
rot13('5 The Parade')
Expecting:
'5 Gur Cnenqr'
**********************************************************************
File "F:\Uni\Rot13_1.py", line 12, in Rot13_1.rot13
Failed example:
rot13('5 The Parade')
Expected:
'5 Gur Cnenqr'
Got:
'B-aur-]n\x7fnqr'
Trying:
rot13('5 Gur Cnenqr')
Expecting:
'5 The Parade'
**********************************************************************
File "F:\Uni\Rot13_1.py", line 14, in Rot13_1.rot13
Failed example:
rot13('5 Gur Cnenqr')
Expected:
'5 The Parade'
Got:
'B-T\x82\x7f-P{r{~\x7f'
An one have any idea why? (I'm guessing its to do with the numbers)
code:
def rot13(s):
"""
>>> type(rot13("bob"))
<type 'str'>
>>> len(rot13("foobar"))
6
>>> rot13("abc")
'nop'
>>> rot13("XYZ")
'KLM'
>>> rot13('5 The Parade')
'5 Gur Cnenqr'
>>> rot13('5 Gur Cnenqr')
'5 The Parade'
"""
result = '' # initialize output to empty
for char in s: # iterate over string
if int:
char_low = s.lower()
if char_low<= 'm':
dist = 13
else:
dist = -13
char = chr(ord(char) + dist)
result+=char
return result
The line "if int:" is clearly wrong. Did you write this code
yourself, or was it typed in from a listing somewhere? I'd assume that
you wanted to do some check on the char value. But if int will always
be true.
--
DaveA
_______________________________________________
Tutor maillist - Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor