Можно ли обнулить переменную цикла?

for i in range(0, 10):
    print(i)
    i = 0

Я просмотрел этот код по шагам с помощью Visualize Python и там сначала переменная i становится равна 0, а потом, как только начинает исполняться очередная итерация цикла for, i становится равна следующему значению, будто бы её никто и не обнулял.

Можно ли как-то сделать так, чтобы после выполнения итерации цикла переменная i обнулялась? Я понимаю, что это приведёт к бесконечному циклу for, но, возможно ли такое в теории и если возможно, то как это провернуть?


Ответы (2 шт):

Автор решения: Andrew Holovko

Можно ли как-то сделать так, чтобы после выполнения итерации цикла переменная i обнулялась?

for i in range(0,10):
    print(i)
else:  # выполнится после завершения основного цикла
    i = 0
    print(i)
→ Ссылка
Автор решения: Victor VosMottor
for i in range(0, 10):
    print(i)
    i = 0

Так не работает. Можно заменить for на while — например так:

i = 0
while i < 10:
    print(i)
    i += 1
    i = 0 # немножко бессмысленная манипуляция, но это просто как пример ;)
→ Ссылка