2016-02-05 3 views
0

Я хочу, чтобы мой код работал так, что если условие не выполняется (в цикле if), оно вернется к началу кода, попросив пользователя ввести другое предложение. Как добавить этот вложенный цикл (если это то, что он называется)?Как мне вернуться к началу моего кода/иметь вложенный цикл?

sentence = input("Please input a sentence: ") 
word = input("Please input a word: ") 
sentence = sentence.lower() 
word = word.lower() 
wordlist = sentence.split(' ') 
print ("Your word, {0}, is in positions:".format (word)) 
for position,w in enumerate(wordlist): 
    if w == word: 
     print("{0}".format(position+1)) 

ответ

0

Вобще:

while True: 
    sentence = input("Please input a sentence: ") 
    if sentence.lower() == "quit": break 
    word = input("Please input a word: ") 
    sentence = sentence.lower() 
    word = word.lower() 
    wordlist = sentence.split(' ') 
    print ("Your word, {0}, is in positions:".format (word)) 
    for position,w in enumerate(wordlist): 
     if w == word: 
      print("{0}".format(position+1)) 
+0

Это, безусловно, бесконечный цикл –

+0

@ cricket_007 в отношении вашего вопроса в ответе Мохаммеда, который теперь был удален, 'break' находился внутри вложенного цикла' for', и это выходит из цикла for, а не ou t внешнего цикла – Aprillion

+0

Да, конечно ... Po может легко спросить или выйти из цикла, нет? – Clodion

2

Вы можете поместить while петлю вокруг кода и break или continue в зависимости от ввода:

while True: 
    sentence = input("Please input a sentence: ") 
    if bad(sentence): # replace with actual condition 
     continue 
    ... 
    for position, w in enumerate(wordlist): 
     ... 
    break 
Смежные вопросы