Question
Certains d'entre vous reconnaîtront peut-être cela comme le problème numéro 11 du projet Euler. Celui avec la grille.
J'essaie de répliquer la grille dans un grand tableau multidimensionnel, mais cela me donne une erreur de syntaxe et je ne suis pas sûr de savoir pourquoi
grid = [
[ 08, 02, 22, 97, 38, 15, 00, 40, 00, 75, 04, 05, 07, 78, 52, 12, 50, 77, 91, 08 ],
[ 49, 49, 99, 40, 17, 81, 18, 57, 60, 87, 17, 40, 98, 43, 69, 48, 04, 56, 62, 00 ],
[ 81, 49, 31, 73, 55, 79, 14, 29, 93, 71, 40, 67, 53, 88, 30, 03, 49, 13, 36, 65 ],
...
Et j'obtiens cette erreur:
File "D:\development\Python\ProjectEuler\p11.py", line 3 [ 08, 02, 22, 97, 38, 15, 00, 40, 00, 75, 04, 05, 07, 78, 52, 12, 50, 77, 91 , 08 ], ^ SyntaxError: invalid token
Pourquoi génère-t-il une erreur avant la virgule?
La solution
Je pense que lorsque vous commencez un nombre littéral avec un 0, il l'interprète comme un nombre octal et vous ne pouvez pas avoir un '8' dans un nombre octal.
Autres conseils
Notez que le " ^ " Le symbole dans l'erreur pointe exactement sur la colonne erronée. Avec le numéro de ligne, il pointe exactement sur le chiffre 8. Cela peut vous aider à suivre ce que Jeremy a suggéré.
Supprimez simplement les zéros non significatifs.
Le premier zéro donne un nombre octal.