Pregunta
Algunos de ustedes pueden reconocer esto como el problema número 11 del Proyecto Euler. El que tiene la cuadrícula.
Estoy tratando de replicar la cuadrícula en una gran matriz multidimensional, pero me está dando un error de sintaxis y no estoy seguro de por qué
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 ],
...
Y obtengo este error:
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
¿Por qué arroja un error antes de la coma?
Solución
Creo que cuando comienzas un número literal con un 0, lo interpreta como un número octal y no puedes tener un '8' en un número octal.
Otros consejos
Tenga en cuenta que el " ^ " El símbolo en el error apunta exactamente a la columna errónea. Junto con el número de línea, señala exactamente en el dígito 8. Esto puede ayudarlo a llegar a lo que sugirió Jeremy.
Simplemente elimine los ceros a la izquierda.
El primer cero hace que el número sea octal.