用while循环关闭程序

时间:2017-06-17 23:47:52

标签: python-3.x while-loop

我是Python v3的新手,并且在我的程序结束时使用while循环来确定用户是想重新启动/重试程序还是完成。

如果我选择是并且我不止一次重复该程序然后选择否,我会继续返回"您想再次搜索:(是/否)> "我重新尝试该程序的次数的选项,例如3次尝试,我必须在休息生效前输入n三次。

使用的代码如下。

while True:
    finish_input = input("Would you like to search again: (Y/N) > ")            
    if finish_input.lower() == ("y"):
        my_project()#restarts the program from the start
        continue
    elif finish_input.lower() == "n":
        print()
        print("Thank you for using this service.")
        break
    else:
        print()
        print("Invalid entry.  Please enter Y or N")

我希望选项重新启动,但只需输入n一次即可关闭/中断程序并退出。非常感谢帮助。

2 个答案:

答案 0 :(得分:0)

我认为这是实现这一目标的一种糟糕方式。做这样的事情怎么样?

#program starts
run_prog = True

while run_prog:
  #Your original code

  finish_input = "a"
  while True:
    finish_input = input("Would you like to search again: (Y/N) > ") 
    if finish_input.lower() == ("y"):
        run_prog = True
        break
    elif finish_input.lower() == "n":
        run_prog = False
        print()
        print("Thank you for using this service.")
        break
    else:
        print()
        print("Invalid entry.  Please enter Y or N")

答案 1 :(得分:0)

你想要的是:

def my_project():
    #Your other code here
my_project()
#The code that you posted

但你在做:

def my_project():
    #Your other code here
    #The code that you posted

不同之处在于,在最后一个程序中,你在程序内部循环:每个y是对整个函数的另一个调用,稍后对于你必须放置的每个函数{{1} }。

代码如下所示:

n