Python - Caeser Cipher Not Giving Right Output

Dave Angel davea at davea.name
Thu Mar 20 23:16:50 EDT 2014


 dtran.ru at gmail.com Wrote in message:
> Hello good people I am working on a caeser cipher program for class. However, I ran into a problem with my outputs. Up to a certain point for example:
> 
> 1. two('y', 'z')
> 
> Would give a '\x92' output instead of a 'x' output.
> 
> Currently this is my code so far:
> 
> def chartonum(ch):
>     return ord(ch) - 97 
> 
> def numtochar(n):
>     return chr(n + 97) 
> 
> def two(c1 , c2):
>     c1 = chartonum(c1)
>     c2 = chartonum(c2)
>     return numtochar(c1 + c2 %26)

You're missing some parentheses in that line. To test your
 understanding,  try picking some numbers for c1 and c2. Display
 c1 + c2 % 26, and see if the result is always between 0 and
 25.

Or look up the term precedence in your textbook.

> 
> I am thinking I have messed up on my mod 26, however, I am at a lost where I might have went wrong in that. Any help would be appreciated.
> 


-- 
DaveA




More information about the Python-list mailing list