Full disclosure: this is for an assignment. Simply getting working code is enough, but doing this in three lines gets me extra credit.
I’m trying to take a 1000-digit string and find the largest product of 5 consecutive digits. You may recognize this as Project Euler’s Problem #8.
I’ve tried a lot of options, but I seem to be stuck. I’m working on figuring out if I can make a lambda statement that will work, but I have no experience with lambda so it’s evading me.
Here’s what I have so far:
for i in range(1, 996):
max = int(number[i+0]) * int(number[i+1]) * int(number[i+2]) * int(number[i+3]) * int(number[i+4]) if max < int(number[i+0]) * int(number[i+1]) * int(number[i+2]) * int(number[i+3]) * int(number[i+4]) else max = max
return max
That doesn’t work and triggers SyntaxError: can't assign to conditional expression.
I don’t want outright code, or at least not a complete function, but just a little help understanding how I can move forward.
This isn’t legal python:
This is:
So is this:
By the way, there is a one line solution, that is much shorter and clearer than your three.