Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python: Invalid Token

Tags:

python

octal

Some of you may recognize this as Project Euler's problem number 11. The one with the grid.

I'm trying to replicate the grid in a large multidimensional array, But it's giving me a syntax error and i'm not sure why

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 ],
...

And I get this error:

  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

Why is it throwing an error before the comma?

like image 752
The.Anti.9 Avatar asked Dec 03 '08 04:12

The.Anti.9


3 Answers

I think when you start a literal number with a 0, it interprets it as an octal number and you can't have an '8' in an octal number.

like image 62
Paige Ruten Avatar answered Nov 20 '22 17:11

Paige Ruten


Note that the "^" symbol in the error points exactly to the erroneous column. Together with the line number it points exactly on the digit 8. This can help lead you to what Jeremy suggested.

like image 30
yairchu Avatar answered Nov 20 '22 16:11

yairchu


Just remove leading zeros.

First zero makes number octal.

like image 1
maxp Avatar answered Nov 20 '22 15:11

maxp