Topic: >>>eval("06")->6 >>>eval("08")->SyntaxError: invalid token...per[RISOLTO]  (Letto 387 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline Bakuriu

  • python sapiens sapiens
  • ******
  • Post: 2.267
  • Punti reputazione: 2
  • Katon, Goukakyuu no jutsu!
    • Mostra profilo
    • Jack's Blackboard - Il mio blog
sto srivendo un altro programmino a mo di esercizio prendendo spunto da codegolf( è quello della griglia di numeri in cui devi trovare la somma dei numeri in riga e in colonna e dire qual'è il maggiore...)
comunque il mio problema non è nel come risolverlo...bensì nell'usare la funzione 'eval'.
Usandolo su "08" e su "09" mi da questo errore:

[hlpycode]
>>> eval("08")
Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    eval("08")
  File "<string>", line 1
    08
     ^
SyntaxError: invalid token
>>> eval("09")
Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    eval("09")
  File "<string>", line 1
    09
     ^
SyntaxError: invalid token
 [/hlpycode]
Mentre con tutti gli altri numeri va bene:
[hlpycode]
>>> eval("01")
1
>>> eval("02")
2
>>> eval("03")
3
>>> eval("04")
4
>>> eval("05")
5
>>> eval("06")
6
>>> eval("07")
7
>>> eval("08")
Traceback (most recent call last):
  File "<pyshell#10>", line 1, in <module>
    eval("08")
  File "<string>", line 1
    08
     ^
SyntaxError: invalid token
>>> eval("18")
18
>>> eval("28")
28[/hlpycode]
Qualcuno sa perchè 08 e 09 sono oflimits per eval?
« Ultima modifica: Agosto 02, 2009, 18:40 da Bakuriu »

Offline Flame_Alchemist

  • python sapiens
  • *****
  • Post: 509
  • Punti reputazione: 1
    • Mostra profilo
    • compscient
>>> a = 017
>>> a
15
Qualcosa che non va? No, i numeri che iniziano con 0 vengono presi in base 8, quindi non possono contenere 8 e 9.
Ci sono - sempre - soluzioni migliori di eval. In questo caso si dovrebbe utilizzare un int(stringa)

Offline Bakuriu

  • python sapiens sapiens
  • ******
  • Post: 2.267
  • Punti reputazione: 2
  • Katon, Goukakyuu no jutsu!
    • Mostra profilo
    • Jack's Blackboard - Il mio blog
ahhh...ora capisco...beh cercherò un'altra soluzione