[Tutor] Error in apparently correct code

Mark Lawrence breamoreboy at yahoo.co.uk
Mon Aug 20 23:06:56 CEST 2012


On 20/08/2012 21:24, Osemeka Osuagwu wrote:
> Dear Pythonistas (I hope you don't mind that),
> I wrote the following code to find the four adjacent numbers (in any
> direction in the array) which, when multiplied together, would yield the

I can't see a Python array anywhere.  Do you mean the list of lists? :)

> highest product to be gotten. I finally stumbled on the answer while
> studying the data itself but I'm still stumped as to why I keep getting an
> error while running the code. I would like answers to this and also any
> suggestions as to more elegant ways of solving this problem.
>
> THE CODE
>

[snipped as it's been mangled, was it posted in html and not plain text 
or what?  I'm too lazy to unmangle it, others might be kinder]

>
> THE ERROR
>
>
> Traceback (most recent call last):
>
>    File "C:\Windows.old\Users\Abasiemeka\Abasiemeka\GOOGLE
> University\Python\Python Code\MyCode\Project Euler code\Project Euler
> answer 11.py", line 84, in <module>
>
>      main()
>
>    File "C:\Windows.old\Users\Abasiemeka\Abasiemeka\GOOGLE
> University\Python\Python Code\MyCode\Project Euler code\Project Euler
> answer 11.py", line 64, in main
>
>      if right_product(row, col) > prod:
>
>    File "C:\Windows.old\Users\Abasiemeka\Abasiemeka\GOOGLE
> University\Python\Python Code\MyCode\Project Euler code\Project Euler
> answer 11.py", line 49, in right_product
>
>      return reduce(lambda x,y:x*y, [data[row][i] for i in range(col, col+4)])
>
> IndexError: list index out of range
>
>
> p.s I apologise for the lack of comments
>
> Regards,
>
> Abasiemeka
>
>
>
> _______________________________________________
> Tutor maillist  -  Tutor at python.org
> To unsubscribe or change subscription options:
> http://mail.python.org/mailman/listinfo/tutor
>

The usual way to chase a problem like this is to place print statements 
in appropriate places in your code.  The for loops in your main function 
look like a good starting point to me.  Please try that and see what you 
come up with.

-- 
Cheers.

Mark Lawrence.



More information about the Tutor mailing list