如何回到Python的前一部分代码?

问题描述 投票:0回答:1

因此,我正在使用CLI应用程序,并使用PyInquirer创建选择菜单。因此,到目前为止,我创建的是一个选择菜单,要求用户选择要执行的操作,选项为1.查看任务,2。添加任务,3。上推任务。我创建了一个函数,当您选择查看任务时,它会提示另一组选择。但是,我想从这里返回主菜单。我似乎无法全神贯注于执行此操作所需的逻辑。我知道我可以对所有可能的路径进行硬编码,但是必须有更好的方法来做到这一点。我曾考虑过创建函数,但是我想到它们的唯一方法是互相调用,这是行不通的。

def main():

main_menu_selection = prompt(main_menu, style=custom_style_2)
# Part I reference below
if main_menu_selection['which_task']== 'View Tasks':
    view_tasks_selection = prompt(view_tasks, style=custom_style_2)


if (view_tasks_selection['view_task']).lower() == 'daily':
    print_tasks("daily")
    # Function to return to menu
    print("Press Enter to return to Main Menu")
    user_input = input()
    if user_input:
        main_menu_selection = prompt(main_menu, style=custom_style_2)
        # Here I would need it to go back to the if statement mentioned above

谢谢您的指导或建议。

python python-3.x command-line-interface
1个回答
1
投票

您可以将整个内容包装在while True:语句中,以便在完成任何一条路径后,都可以返回主菜单select。要退出时,只需使用break退出循环即可。下面是一个简单的示例。

def main():

    while True:
        main_menu_selection = prompt(main_menu, style=custom_style_2)

        # Part I reference below
        if main_menu_selection['which_task']== 'View Tasks':
            view_tasks_selection = prompt(view_tasks, style=custom_style_2)


        if (view_tasks_selection['view_task']).lower() == 'daily':
            print_tasks("daily")

        else:
            break
© www.soinside.com 2019 - 2024. All rights reserved.