Некоторые из вас могут узнать в этом проблему №11 проекта Эйлера. Проблема с сеткой.
Я пытаюсь воспроизвести сетку в большом многомерном массиве, но это дает мне синтаксическую ошибку, и я не уверен, почему
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 ],
...
И я получаю такую ошибку:
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
Почему выдает ошибку перед запятой?






Я думаю, что когда вы начинаете буквальное число с 0, оно интерпретирует его как восьмеричное число, и у вас не может быть восьмерки в восьмеричном числе.
Обратите внимание, что символ «^» в ошибке указывает именно на столбец с ошибкой. Вместе с номером строки он указывает точно на цифру 8. Это может помочь вам прийти к тому, что предложил Джереми.
@ Bonifacio2: Я думаю, что это не только ответ, но и хороший, даже если он не полностью отвечает на вопрос ОП. Этот ответ помогает OP разобрать полученную синтаксическую ошибку. Первоначально (до редактирования) он спросил: «Почему после запятой выдается ошибка?» когда на самом деле ошибка стоит перед запятой, и мой ответ может помочь ему выяснить, где была ошибка. «дайте человеку рыбу, и вы накормите его на день; научите человека ловить рыбу, и вы кормите его на всю жизнь»
Просто удалите ведущие нули.
Первый ноль делает число восьмеричным.
Хотя вы дали хороший совет, это не дает ответа на вопрос. Так что я думаю, что это должен быть комментарий, а не ответ. -1.