Здесь есть несколько неправильных вещей.
Во-первых, вы получаете usr_input
только один раз, вне цикла.Если это неправильный выбор, вы не даете пользователю возможность изменить его выбор: вы просто зацикливаетесь.Вам нужно будет выполнить input
в цикле.
Во-вторых, ваше логическое условие неверно.Это эквивалентно выражению «x не является ИЛИ, а не b», что является всегда истинным, поскольку, даже если это a
, оно все равно не b
Лучший способ сказать, что это not in ['1', '2']
.
Собрать их вместе:
usr_input = ''
while usr_input not in ['1', '2']:
usr_input = input("Input: ")
... etc...