if
это не цикл, а условный. Следовательно, цикл перезапуска отсутствует.
while
- это цикл. (Есть другие, которые делают немного другие вещи.) Это не может ветвиться как if
, это просто циклы.
Если вам нужно принять решение в цикле, поместите if
внутри while
. Ни одно утверждение не предназначено для всего.
while True: # repeats forever
feedback = get_user_feedback()
if feedback_is_this_way(feedback):
go_this_way()
elif feedback_is_that_way(feedback):
go_that_way()
elif feedback_says_user_is_sick_and_tired(feedback):
apologise_to_user()
break # exits the loop
else:
tell_the_user_not_to_mess_around()