Как реализовать перезапуск цикла, пока не будет получено одно из требуемых значений

Рейтинг: 1Ответов: 2Опубликовано: 28.06.2023
nominal = input(int(тут надо ввести значение 2, либо 5, либо 25))
while nominal #не будет равняться 2 or 5 or 25:
   #предлагает снова ввести значение, пока не получит 2, 5, 25

Подскажите пожалуйста, как лучше это реализовать, мои попытки привели либо к ошибкам, либо к несрабатыванию (пропуску) цикла Я начинающий питонист, по этому пожалуйста, обьясните проще

Ответы

▲ 3Принят

Можно так

nominal=0

while not any([nominal==5, nominal==15, nominal==25]):
    nominal=int(input('Введите новое значение:'))


Или так:

nominal=0
while not (nominal==5 or nominal==15 or nominal==25):
    nominal=int(input('Введите новое значение:'))

Ну или так

while True:
   nominal=int(input('Введите новое значение:'))
   if nominal==5 or nominal==15 or nominal==25:
       break
▲ 0
def input_y(y=(5, 15, 25), t='Введите новое значение:'):
    x = int(input(t))
    return x if x in y else check(y, t)

print(input_y())