2008-12-03 186 views
14

你們中的一些人可能認識到這是Project Euler的問題11。Python:無效令牌

我試圖複製在一個大的多維數組的網格,但它給我一個語法錯誤,我不知道爲什麼

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 

爲什麼它在逗號前面拋出一個錯誤?

回答

37

我認爲當你開始一個0的文字數字時,它將它解釋爲一個八進制數,而你不能在八進制數中有'8'。

3

請注意,錯誤中的「^」符號完全指向錯誤的列。與行號一起指向數字8上。這可以幫助您引導Jeremy提出的建議。

+0

雖然你提供了一個很好的提示,但這並沒有回答這個問題。所以我認爲這應該是一個評論,而不是一個答案。 -1。 – Bonifacio2 2014-09-22 18:49:10

1

只刪除前導零。

第一個零使數字八進制。