Loop Else

For-Else Basics

  1. # else runs if no break
  2. for i in range(5):
  3. if i == 10:
  4. break
  5. else:
  6. print("Loop completed")
  7. #ans: Loop completed

While-Else Basics

  1. # else runs after while completes
  2. count = 0
  3. while count < 3:
  4. print(count)
  5. count += 1
  6. else:
  7. print("Done")
  8. #ans: 0, 1, 2, Done

Break Prevents Else

  1. # break prevents else from running
  2. for i in range(5):
  3. if i == 3:
  4. break
  5. else:
  6. print("This won't print")
  7. #ans: (nothing - break prevents else)

Empty Loop with Else

  1. # else runs even if loop is empty
  2. for i in range(0):
  3. pass
  4. else:
  5. print("Runs")
  6. #ans: Runs

Exercises - Part 1

  1. # does else run?
  2. for i in range(5):
  3. pass
  4. else:
  5. print("Done")
  6. #ans: Done (no break)

Exercises - Part 2

  1. # what about this?
  2. for i in range(5):
  3. if i == 2:
  4. break
  5. else:
  6. print("Done")
  7. #ans: nothing (break prevents else)

Exercises - Part 3

  1. # while-else?
  2. x = 0
  3. while x < 0:
  4. x += 1
  5. else:
  6. print("Else runs")
  7. #ans: Else runs (loop body never executes but no break)

Exercises - Part 4

  1. # tricky: does else run?
  2. for i in range(0):
  3. pass
  4. else:
  5. print("Yes")
  6. #ans: Yes (empty range, no break)

Exercises - Part 5

  1. # what prints?
  2. for i in range(3):
  3. if i == 5:
  4. break
  5. else:
  6. print("Complete")
  7. #ans: Complete (condition never True, no break)

Exercises - Part 6

  1. # while-else with break?
  2. x = 0
  3. while x < 3:
  4. if x == 2:
  5. break
  6. x += 1
  7. else:
  8. print("Done")
  9. #ans: nothing (break prevents else)

Exercises - Part 7

  1. # nested loop else?
  2. for i in range(2):
  3. for j in range(2):
  4. if j == 1:
  5. break
  6. else:
  7. print("Outer else")
  8. #ans: Outer else (inner break doesn't affect outer)

Exercises - Part 8

  1. # what happens?
  2. for i in range(3):
  3. if i == 3:
  4. break
  5. else:
  6. print("Runs")
  7. #ans: Runs (condition never True)

Exercises - Part 9

  1. # while-else execution?
  2. x = 5
  3. while x < 3:
  4. x += 1
  5. else:
  6. print("Else")
  7. #ans: Else (condition False from start)

Exercises - Part 10

  1. # tricky break?
  2. for i in range(3):
  3. if False:
  4. break
  5. else:
  6. print("Complete")
  7. #ans: Complete (break never executes)

Google tag (gtag.js)