Re: [Tutor] Doctest error!

2011-11-17 Thread Dave Angel

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"))



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 = 
13else: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


Re: [Tutor] Doctest error!

2011-11-17 Thread Nidian Job-Smith




> 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"))
> > 
> > >>> 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

  
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Doctest error!

2011-11-17 Thread Dave Angel

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"))

>>>   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


[Tutor] Doctest error!

2011-11-17 Thread John


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"))

>>>   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


___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor