正确时-返回层次结构的顶部

时间:2019-06-25 01:51:29

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

while True:
    user_input_1 = input("")

    if user_input_1 == 'yes':
        print('Cont..')
        # Do something

        if checkcondition_1 == True:
            # Do something

            user_input_2 = input("")
            if user_input_2 == yes:
                # Do something
            if user_input_2 == no:
                # Do something

        else:
            print("Going back")
            continue

    if user_input_1 == 'no':

        user_input_3 = input("")

        if user_input_3 == 'yes':
            break
        if user_input_3 == 'no':
            # I need help to go back to "User_Input_1 == 'yes' 
            Go all the way back to "user_input_1" =='yes' condition.
            Is it possible to go back like that?

正如我上面提到的评论,在user_input_3之后,如果该条件等于“否”,我想一直返回到user_input_1 == 'yes'。 当我在该语句之后说continue时,它仅返回到user_input_1 == 'no'。如何在while语句中再备份一个?任何建议都会很棒。

1 个答案:

答案 0 :(得分:0)

您可以执行所需的过程,但不能使用while循环,但是可以使用function完成。 我已经重写了您的代码以获得所需的结果。尝试一下。

def user(user_input_1='yes'):
    if user_input_1 == 'yes':
        print('Cont..')
        # Do something
        if checkcondition_1 == True:
            # Do something
            user_input_2 = input("input_2")
            if user_input_2 == 'yes':
                pass
                # Do something
            if user_input_2 == 'no':
                pass
                # Do something

        else:
            print("Going back")
            user_input_1 = input("input_1")  # These two lines are equavalent to your continue.
            user(user_input_1)


    if user_input_1 == 'no':

        user_input_3 = input("input_3")

        if user_input_3 == 'yes':
            return None   # this is equivalent to break.
        if user_input_3 == 'no':
            # I need help to go back to "User_Input_1 == 'yes' 
            #Go all the way back to "user_input_1" =='yes' condition.
            #Is it possible to go back like that?

            user()  # Calling user() function with default value, which is user_input_1 = 'yes'.

user_input_1 = input("input_1")
checkcondition_1 = True         
user(user_input_1)

希望对您有帮助。