The.Anti.9
The.Anti.9

Reputation: 44728

Python: Invalid Token

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?

Upvotes: 15

Views: 18735

Answers (3)

maxp
maxp

Reputation: 5554

Just remove leading zeros.

First zero makes number octal.

Upvotes: 1

yairchu
yairchu

Reputation: 24814

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.

Upvotes: 3

Paige Ruten
Paige Ruten

Reputation: 176783

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.

Upvotes: 40

Related Questions