2016-04-18 9 views
0

Я пытаюсь получить правильный ввод, но в то время как вход является ложным. Я хочу, чтобы он постоянно запрашивал информацию до тех пор, пока результат не будет правильным, как я правильно это сделаю?Как продолжить цикл до тех пор, пока не будет истинным

x = input("Enter your string") 
if set(x).issubset({'m', 'u', 'i'}): 
    print("true") 
else: 
    print("false") 
    x = input("Enter your string") 

ответ

4
while not set(input("Enter your string")).issubset({'m', 'u', 'i'}): 
    print("false") 
else: 
    print("true") 
+0

«просто использовать' not' оператора и 'while' цикла» может быть стоит добавить к этому ответу, так как это не сразу. –

+0

Конечно, это имеет смысл, является ли общим создание истинного раздела в другой части инструкции? –

+0

Я не думаю, что это необычно, действительно. Думая об этом, это просто условие. Вы можете отменить его, чтобы инвертировать True или False. Фактически, 'not' здесь не требуется, вы можете иметь' print («true») 'в if и другой ветке в else. Это просто вопрос читаемости/предпочтения. –

1

Это следует делать также:

while not set(input("Enter your string")).issubset({'m', 'u', 'i'}): 
    print("false") 
print("true") 
Смежные вопросы