On Friday, March 21, 2014 8:53:49 AM UTC+5:30, wrote: > On Thursday, March 20, 2014 11:16:50 PM UTC-4, Dave Angel wrote: > > > 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
> Thanks for your input Dave. Would the line be: > return numtochar(c1 + c2 %26) > c1 and c2 are lower-case letters. And I was wondering how I would add the > partenthesis because I tried: > return numtochar(c1 + c2 (%26)) and it gave me an error. I suggest you put aside your assignment for 15 minutes. Then 1. Start up the python interpreter 2. Type ? + ?? % ??? where the ?, ??, ??? take various values between 1 and 4 3. Try to put in parenthesis (ie '( )') here and there to modify your results 4. Then read the material on 'precedence' as Dave suggested -- https://mail.python.org/mailman/listinfo/python-list