Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #68668

Re: Python - Caeser Cipher Not Giving Right Output

From Dave Angel <davea@davea.name>
Subject Re: Python - Caeser Cipher Not Giving Right Output
Date 2014-03-21 00:02 -0400
Organization news.gmane.org
References <7eee0f2b-0d5f-409e-ae4e-8c9c1af31d74@googlegroups.com> <mailman.8341.1395371543.18130.python-list@python.org> <bda05813-d186-41ea-a40d-5d36f90a8fed@googlegroups.com>
Newsgroups comp.lang.python
Message-ID <mailman.8343.1395374292.18130.python-list@python.org> (permalink)

Show all headers | View raw


 dtran.ru@gmail.com Wrote in message:
> On Thursday, March 20, 2014 11:16:50 PM UTC-4, Dave Angel wrote:
>> dtran.ru@gmail.com Wrote in message:
>> > 
>> 
>> > 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.
>> 
>
>> DaveA
> 
> Thanks for your input Dave. Would the line be:
> 
> return numtochar(c1 + c2 %26) 

That would be the line I tagged,  yes.

> 
> c1 and c2 are lower-case letters. 

No, they're not , you just got done overwriting the letters with
 numbers.   That's a bad habit, reusing local variables with data
 of different meanings,  but I was trying to focus on the line
 with the bug.


> And I was wondering how I would add the partenthesis because I tried:
> 
> return numtochar(c1 + c2 (%26)) and it gave me an error. 

Please help us to help you by actually showing the traceback. 
 Doesn't matter in this case, but...

What order do you want the add and the modulo to happen?  Use the
 parentheses to say so.  Or split it into two or more lines, with
 another variable. 

Perhaps you don't understand that % is an operator,  just like +
 and *.  If you were told to add a and b before multiplying by c,
 how would you write that? Try it, just as you tried the other
 experiment I recommended. 




-- 
DaveA

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Python - Caeser Cipher Not Giving Right Output dtran.ru@gmail.com - 2014-03-20 19:50 -0700
  Re:Python - Caeser Cipher Not Giving Right Output Dave Angel <davea@davea.name> - 2014-03-20 23:16 -0400
    Re: Python - Caeser Cipher Not Giving Right Output dtran.ru@gmail.com - 2014-03-20 20:23 -0700
      Re: Python - Caeser Cipher Not Giving Right Output Dave Angel <davea@davea.name> - 2014-03-21 00:02 -0400
      Re: Python - Caeser Cipher Not Giving Right Output Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-03-21 03:58 +0000
        Re: Python - Caeser Cipher Not Giving Right Output dtran.ru@gmail.com - 2014-03-20 21:23 -0700
          Re: Python - Caeser Cipher Not Giving Right Output Mark Lawrence <breamoreboy@yahoo.co.uk> - 2014-03-21 09:50 +0000
      Re: Python - Caeser Cipher Not Giving Right Output Rustom Mody <rustompmody@gmail.com> - 2014-03-20 21:02 -0700
      Re: Python - Caeser Cipher Not Giving Right Output Ian Kelly <ian.g.kelly@gmail.com> - 2014-03-22 08:22 -0600
        Re: Python - Caeser Cipher Not Giving Right Output Rustom Mody <rustompmody@gmail.com> - 2014-03-22 10:29 -0700

csiph-web