中断语句 - 陷入循环

时间:2018-01-31 19:15:08

标签: python loops while-loop

目标

让学生熟悉: - 在循环中使用break语句; - 反映计算机代码中的现实情况。

方案

break语句用于退出/终止循环。 使用while循环,设计一个程序,不断要求用户输入一个秘密词(例如,“你陷入无限循环!输入一个秘密词离开循环:”)除非用户输入“chupacabra”作为秘密退出单词,在这种情况下,应该将“你已成功离开循环”的消息打印到屏幕上,循环应该终止。 不要打印用户输入的任何单词。使用条件执行的概念和break语句。

'''
Lab 2.2.22.1 - While loops with 'break' keyword use.
'''
secret_word = str(input("You're stuck in an infinite loop!\nEnter a secret word to leave the loop."))
while secret_word != "chupacabra":
    print("You're stuck in an infinite loop!\nEnter a secret word to leave the loop.")
    if secret_word == "chupacabra":
        print("You've successfully left the loop.")
'''
just keeps printing out both lines continuosly - in a loop.
'''

问题

当我运行此程序时,它会打印前两行并等待输入。如果输入与var匹配,则它不显示“left the loop”字符串,它什么也不做。如果我输入除了正确的密码之外的任何东西,它只会继续以永无止境的循环打印前两行。

我坚持如何使用while循环。我只想做两件事,如果输入不等于var则打印A,如果输入与var匹配则打印B.但是我读到的有关while循环的所有内容都是为了做一些事情,然后是if或elif,或者让别人做其他事情。

我正在努力解决这个问题,因为我不知道怎么写这个循环,所以虽然没有做任何事情,但这有意义吗?

我正在做一个python课程,所以请耐心等待。这不是任何考试或评分工作的一部分,但我宁愿先了解我做错了什么。

1 个答案:

答案 0 :(得分:1)

您需要在循环中读取secret_word,并在匹配时使用break退出:

secret_word = ""
while True:
    secret_word = input("You're stuck in an infinite loop!\nEnter a secret word to leave the loop.")
    if secret_word == "chupacabra":
        print("You've successfully left the loop.")
        break