2015-11-02 6 views
0

Может ли кто-нибудь помочь мне с циклом этого кода вернуться к началу, если пользователь вводит да и заканчивает программу, если пользователь вводит нет?Как перевести этот код в начало?

while True: 
    print ("Hello, this is a program to check if a word is a palindrome or not.") 
    word = input("Enter a word: ") 
    word = word.casefold() 
    revword = reversed(word) 
    if list(word) == list(revword): 
     print ("The word" ,word, "is a palindrome.") 
    else: 
     print("The word" ,word, "is not a palindrome.") 
    print ("Would you like to check another word?") 
    ans = input() 
    if ans == ("Yes") : 
     #here to return to beginning 
    else ans == ("No"): 
     print ("Goodbye") 

ответ

1

Используйте продолжение, чтобы продолжить свою петлю и выйти из нее.

if ans == ("Yes") : 
     continue 
    else ans == ("No"): 
     print ("Goodbye") 
     break 

Или, вы можете просто бросить в if ans == ("Yes") и просто так:

else ans == ("No"): 
     print ("Goodbye") 
     break 

Или еще лучше, вы можете изменить время цикла, чтобы проверить переменную ans а не делать while True:

1

Изменить while True пока ans == "Yes". Перед циклом вы должны определить ans как «Да» (ans = "Yes). Таким образом, он будет автоматически запускаться один раз, но будет предлагать пользователю продолжить.

В качестве альтернативы, вы можете сделать это

ans = input() 
if ans == "No": 
    break 
+0

спасибо я попытался изменить начало в то время как анс == «Да», но не будет работать, он говорит, что «ожидал предназначенный блок»? –

+0

В то время как истинный цикл не имеет отступов правильно. Тело цикла while должно быть отступом – intboolstring

Смежные вопросы