Error evaluating numbers starting in zero
Remco Gerlich
scarblac at pino.selwerd.nl
Mon Dec 18 07:06:01 EST 2000
Mike Brenner <mikeb at mitre.org> wrote in comp.lang.python:
> >> I have a python checkbook program that evaluates date strings, such
> >> as "01/31/99". Most dates are fine, but if I have a date such as
> >> "01/08/99", python runs into an error when it tries to eval("08").
>
> > Use int() instead of eval().
>
>
> So, that may also explain the failure with
>
> i = 08
>
> and with reading in numbers,
> the python interpretor must be using EVAL instead of INT?
No, the failure is that this is a syntax error. In fact, it's the
other way around - eval() uses the python interpreter. That's what eval
does, evaluate an expression like the interpreter does. int() converts
things to integers.
If a number starts with 0, it is in octal and not in decimal. So i = 08 is a
syntax error.
--
Remco Gerlich
More information about the Python-list
mailing list