我如何突破我的while循环?

时间:2018-03-29 01:26:28

标签: python python-3.x while-loop break

做一个作业,这是我的第一个节目,所以请耐心等待。我不能让while循环结束,虽然我打破了它。我需要一种摆脱循环的方法,而我正在做的事情是行不通的。任何建议都会非常有用,谢谢。

def main(): #Calls the main function
    while True:
        try:
            name = input("Please enter the student's name: ") #Asks for students name
            while name == "":
                print("This is invalid, please try again")
                name = input("Please enter the students name: ")


        teacher_name = input("Please enter the teacher's name: ") #Asks for teachers name 
        while teacher_name == "":
            print("This is invalid, please try again")
            teacher_name = input("Please enter the teacher's name: ")


        marker_name = input("Please enter the marker's name: ") #Asks for markers name
        while marker_name == "":
            print("This is invalid, please try again")
            marker_name = input("Please enter the marker's name: ")
            break



    except ValueError:
        print("This is invalid, please try again")

3 个答案:

答案 0 :(得分:2)

代码的问题在于缩进。当strtotime($value[0]->nodeValue) 为空字符串时,您已将程序告知break。我假设您希望代码在所有三个值都正确时完成,因此以下代码应该适合您:

marker_name

我有点困惑为什么你尝试了除了?它的目的是什么?

答案 1 :(得分:1)

首先,你已经打破了python中的while循环,就像你已经做的那样。只有在循环中满足您设置的条件时才应该中断。因此,假设您想要在一个重要的循环中打破,如果数字达到100,您想要中断,但是,您已经有了while循环的条件。然后你将它放在你的while循环中。

if x == 100:
    break

正如你现在所拥有的那样,你只需在没有条件的几行代码之后打破你的while循环。您只会经历一次循环,然后每次都会中断。它违背了while循环的目的。

您在此代码中想要做什么?除了你想要在while循环中打破之外,你能否在你的问题中提供更多细节?也许我可以帮助你,而不是给你一个关于打破循环的通用答案。

答案 2 :(得分:1)

我可以问为什么代码块包含在try-except?

一些建议:

  • 删除try-except,因为您不应该提出任何错误
  • 删除break语句(在marker_name之后),因为当输入有效时循环应该结束
  • 确保所有输入的缩进同时循环代码块是相同的(你的格式搞砸了所以我不确定你是否嵌套了while循环)

让我知道这是如何运作的