首页 文章

中断语句 - 陷入循环[重复]

提问于
浏览
-2

这个问题在这里已有答案:

Objectives

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

Scenario

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.
'''

Problem

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

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

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

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

1 回答

  • 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
    

相关问题