Pergunta
Alguns de vocês podem reconhecer isso como o problema do Projeto Euler número 11. aquele com a grade.
Estou tentando replicar a grade em uma grande matriz multidimensional, mas está me dando um erro de sintaxe e não sei por que
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 ],
...
E eu recebo este erro:
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 que está jogando um erro antes da vírgula?
Solução
Eu acho que quando você inicia um número literal com um 0, ele o interpreta como um número octal e você não pode ter um '8' em um número octal.
Outras dicas
Observe que o símbolo "^" no erro aponta exatamente para a coluna errônea. Juntamente com o número da linha, ele aponta exatamente no dígito 8. Isso pode ajudar a levá -lo ao que Jeremy sugeriu.
Basta remover os zeros principais.
O primeiro zero torna o número octal.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow