On 11/17/2011 10:56 PM, Nidian Job-Smith wrote:
----------------------------------------
Date: Thu, 17 Nov 2011 22:49:33 -0500
From: d...@davea.name
To: nidia...@hotmail.com
CC: tutor@python.org
Subject: Re: [Tutor] Doctest error!
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
I want it to look in s, and only perform this code on the letters in s(not
numbers):
char_low = s.lower() if char_low<= 'm': dist =
13 else: dist = -13
Your formatting is messed up, and I can now see there at least one other
bug in it anyway.
The method to check if a particular character is alphabetic is
str.isalpha(). See if you can see what variable to call that on.
Hint: it's not s, since you want to check one character at a time in
your loop.
--
DaveA
_______________________________________________
Tutor maillist - Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor