Python:无效令牌

时间:2008-12-03 04:01:13

标签: python octal

你们中的一些人可能会认为这是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 ],
...

我收到了这个错误:

  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

为什么在逗号之前抛出错误?

3 个答案:

答案 0 :(得分:41)

我认为当你用0开始一个文字数字时,它会将它解释为八进制数,而你的八进制数字中不能有一个'8'。

答案 1 :(得分:3)

请注意,错误中的“^”符号恰好指向错误列。连同行号一起指向数字8.这可以帮助您了解Jeremy建议的内容。

答案 2 :(得分:1)

只需删除前导零。

第一个零使数字为八进制。