[Tutor] (no subject)
andreengels at gmail.com
Thu Nov 17 14:39:19 CET 2011
On Thu, Nov 17, 2011 at 2:14 PM, Nidian Job-Smith <nidianjs at hotmail.com>wrote:
> Hi all,
> I'm new to programming (thus Python), so after reading the
> basics, I wanted to practise what I've learnt . I've come across a
> beginners exercise which is to programme rot13.
> I've written some code but it doesn't seem to work....
> Here it is:
> def rot13(s):
> char_low = ()
> result = ""
> if not s.isalpha():
> return char
> char_low = char_low.lower()
> if char_low <= 'm':
> dist = 13
> dist = -13
> char = chr(ord(char) + dist)
> def rot13_char(ch):
> return ''.join( rot13(s) for char in ch )
> Any idea where i'm wrong?
Please, when posting a program that has problems to this list, do not just
say that "it doesn't work". Tell us what is wrong:
* If you get a syntax error, tell us that, and tell us where it is claimed
the syntax error is
* if you get an error message, give the error message as well as the stack
trace provided with it, or at least the last part of that stack trace
* If the program does not crash, but behaves different from what you
expected, tell us what you expected to get, and what you actually got (for
example, "After giving the input 5 and 3 I had expected the program to
output 8 and ask for a new pair of numbers, but instead it showed 8 lines
of 8 stars, printed 'Thank you for using my program' and ended.
Having said that, using your program gave me various problems. The first
was in return ''.join( rot13(s) for char in ch ) - I got an error message
that the name 's' was not defined. Reason: the variable before the for
should be the same as after, so you should either say 'rot13(s) for s in
ch' or 'rot13(char) for char in ch'
Most of your other problems had the same cause: If you want to use
something (a thing, a number, a letter, whatever), use the same name as you
used when you defined that thing.
André Engels, andreengels at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Tutor