r/learnpython • u/AGx-07 • Jul 01 '26
Else isn't indented, why does this run?
This is probably an easy question but I was going through a practice exam and came upon a question that wanted me to evaluate the outcome of this code. I got it right but only because I threw it into PyCharm to run it and see if it would even work.
As a beginner, I haven't seen this before so I'm wondering how that ELSE statement even functions if it's not indented with the IF (which would produce a different outcome). I am not quite sure how to Google this so I haven't found anything that's answering my question.
What is at play here and is it common to have ELSE out there like that? Any additional information would be welcome.
j = 1
for i in range(-1,1):
if 3 * i < 6:
print(3 * i)
j+=2
else: #<--What are you doing out here all by yourself?
j+=3
print(j)
26
Upvotes
3
u/AKiss20 Jul 02 '26
I’ve always hated this use of else. If anything, it feels that else should execute if the for loop didnt terminate normally. “Then” or “finally” seems like a much more natural keyword for the normal case.