我应该如何使用 'continue' 命令来避免 python 中的无限循环?

How should I use a 'continue' command to avoid an infinite loop in python?

我试图让程序接受年龄值,打印票价响应,然后 return 返回到输入提示以请求另一个年龄。

每次我输入年龄时都会出现无限循环?我怎样才能以不同的方式处理它? 继续会有帮助吗?

对草率的格式等表示歉意;这是我第一次 post 堆栈溢出,我

ticket_age = input("\nTell me your age and I will sell you a ticket")


active = True
while active:
    age = int(ticket_age)

    if age < 3:
        print("You get a free ticket")


    elif age >= 3 and age <= 12:
        print("That will be  please")

    elif age > 12:
        print("That will be  please")

在您的程序中,您应该将 active 变量的值更改为 falsewhile 循环中的某处以中断它。

试试下面这个:

ticket_age = input("\nTell me your age and I will sell you a ticket")


active = True
while active:
    age = int(ticket_age)

    if age < 3:
        print("You get a free ticket")


    elif age >= 3 and age <= 12:
        print("That will be  please")

    elif age > 12:
        print("That will be  please")

    else:
        break

欢迎光临!正如评论所说,我们需要有关您要做什么的更多信息。如果它只是一个简单的检查,那么你甚至不需要 while 循环。你可以只使用 if 语句,或者如果你想循环,你可以遍历多个输入。在您的情况下,您可以通过将活动值设置为 false 来退出。否则,作为一些提示:在您使用的此类循环中,您不必设置 active = True 然后设置 while active:,您可以简单地设置 while True:。但是您将不得不以某种不同的方式退出它。也可以接收到输入后直接转换,比如ticket_age = int(input("\nTell me your age and I will sell you a ticket")),或者str(input(..))。对于你的第二个循环,你可以使用这样的语法:if 3 <= number <= 12:.

你应该在循环内使用输入来执行那个


while True:
    ticket_age = input("\nTell me your age and I will sell you a ticket")
    age = int(ticket_age)

    if age < 3:
        print("You get a free ticket")


    elif age >= 3 and age <= 12:
        print("That will be  please")

    elif age > 12:
        print("That will be  please")