Я пытаюсь понять сложное управление потоком, которое я не могу заставить работать, поэтому упростил его и тоже не понимаю его работы.
Упрощенное управление потоком:
smurf = True
print('smurf status: ', smurf)
jackets = list(range(5))
print(jackets)
for j in jackets:
print('la la la la', j, '\n')
while smurf is True:
print('jacket is :', j)
if j == jackets[-3]:
smurf = False
break
print('smurf is FALSIOOOO')
j += 1
print('smurf with jacket ',j-1, ' be ok')
print('END OF SMURFGATE')
Результат:
smurf status: True
[0, 1, 2, 3, 4]
la la la la 0
jacket is : 0
smurf with jacket 0 be ok
jacket is : 1
smurf with jacket 1 be ok
jacket is : 2
la la la la 1
la la la la 2
la la la la 3
la la la la 4
END OF SMURFGATE
Я думал, что произойдет (но не произошло), когда j-итерация достигнет тестового условия, while l oop остановится, и управление потоком перейдет к последняя строка скрипта и выведите «КОНЕЦ SMURFGATE».
Желаемый результат:
smurf status: True
[0, 1, 2, 3, 4]
la la la la 0
jacket is : 0
smurf with jacket 0 be ok
la la la la 1
jacket is : 1
smurf with jacket 1 be ok
la la la la 2
jacket is : 2
END OF SMURFGATE