Why Python don't accept 03 as a number?

Antoon Pardon antoon.pardon at vub.be
Mon Dec 10 05:00:20 EST 2018


On 8/12/18 06:00, Cameron Simpson wrote:
> On 07Dec2018 20:24, Jach Fong <jfong at ms4.hinet.net> wrote:
>> Ian at 2018/12/8 UTC+8 AM11:28:34 wrote:
>>> What is it exactly that you're trying to accomplish with this? Perhaps
>>> there's a better way than using eval.
>>
>> This problem comes from solving a word puzzle,
>>    ab + aa + cd == ce
>> Each character will be translate to a digit and evaluate the
>> correctness,
>>    03 + 00 + 15 == 18
>
> Then you should be evaluating the digits and assembling values from
> them. Not trying to shoehorn a string through something that _might_
> accept this string and do what you want. In Python 2 it will accept
> your string and not do what you want; at least in Python 3 it doesn't
> accept your string.
>
> My point here is that the structure of your puzzle doesn't map
> directly into a naive python statement, and you shouldn't be
> pretending it might.

How do you figure? As far as I understand he is trying to solve this kind of puzzle:

    SEND
    MORE
 +  ————
   MONEY

Where every letter is to be replaced by a digit in such a way that the sum checks out. Sure trying to
solve this by starting with the string: "SEND + MORE == MONEY" and doing replaces until eval comes up
with true is not very sofisticated but I wouldn't call it shoehorning either.

-- 
Antoon.




More information about the Python-list mailing list