15

これを Project Euler の問題番号 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 ],
...

そして、私はこのエラーを受け取ります:

  ファイル "D:\development\Python\ProjectEuler\p11.py"、3 行目
    [ 08, 02, 22, 97, 38, 15, 00, 40, 00, 75, 04, 05, 07, 78, 52, 12, 50, 77, 91 , 08 ],
       ^ SyntaxError: 無効なトークン

コンマの前にエラーがスローされるのはなぜですか?

4

3 に答える 3

40

リテラル数値を 0 で始めると、8 進数として解釈され、8 進数に「8」を含めることはできないと思います。

于 2008-12-03T04:04:50.870 に答える
3

エラーの「^」記号は、エラーのある列を正確に指していることに注意してください。行番号とともに、数字の 8 を正確に指しています。これにより、Jeremy が提案した内容にたどり着くことができます。

于 2008-12-03T04:42:41.353 に答える
1

先頭のゼロを削除するだけです。

最初のゼロは数値を 8 進数にします。

于 2008-12-03T16:14:45.060 に答える