How to Loop Backwards in Python?

How can I loop backwards from 100 to 0 in Python using a backwards range python?

I tried using for i in range(100, 0), but it doesn’t work as expected. How can I fix this to achieve a backward loop?

Ah, I’ve dealt with this many times! The key here is using the range() function with a negative step. By default, range() increments positively, so you need to specify a negative step to go backwards. Here’s a simple way to create a backwards range python loop:

for i in range(100, -1, -1):
    print(i)

The range(100, -1, -1) starts at 100, stops just before -1, and decrements by 1 with each iteration. This is probably the most intuitive and efficient way to achieve what you’re aiming for. Works like a charm!

That’s a great solution, Archana! But if you’re looking for an alternative approach, you can also use reversed() along with range(). Personally, I find it useful in scenarios where I already have an ascending range and need to reverse it. Here’s an example:

for i in reversed(range(101)):
    print(i)

In this case, range(101) generates numbers from 0 to 100, and then reversed() iterates over that sequence in reverse. This way, you’re still effectively implementing a backwards range python loop, but using a slightly different technique. It’s nice to have options, right?

Great suggestions so far! Let me throw in another option for variety—using a while loop. I’ve used this approach when I need more control over the iteration logic. Here’s how you can manually create a backwards range python loop:

i = 100
while i >= 0:
    print(i)
    i -= 1

While this doesn’t rely on range(), it gives you the flexibility to tweak the decrement or add custom conditions if needed. It’s not as concise as the other two methods, but definitely gets the job done. I often find this useful for more complex loops where I might need to perform additional checks.