返回一段时间时循环回到菜单。尝试创建"Go back"按钮时,输入问题将永远保留



所以我正在python中制作一个简单的程序(我对它很陌生(,它是一个有4个选项的简单菜单。

其中一个选项用于显示文本文件中的用户,然后它会询问用户是否要返回主菜单。如果他们输入是,我的意图是让用户返回到主菜单并从那里继续,如果不是,那么它将被传递。

问题是,当用户输入"Y"返回主菜单时,它会将用户带到那里,但相同的";返回";输入的问题将在循环中不断被问到。

我该怎么打破这个?我正试图使得当用户选择";Y";对于"返回",它会将用户带到主菜单,并询问用户要再次选择哪个选项。

旁注:如果可能的话,如果有人能告诉我如何添加下拉列表,那将意义重大,这样,我的程序读取用户名的文本文件,然后将每个用户显示为程序中的下拉列表。

代码:

elif option == 4:
print("n" + "Displaying users... ")
userlist = open('userlist.txt', 'r')
f = userlist.readlines()    
newList = []
for line in f:
if line[-1] == 'n':
newList.append(line[:-1])
else:
newList.append(line)
print(newList)
while True:
goback = input("Go back? (Y/N): ")
if goback == "Y":
menu()
elif goback == "N":
pass
else:
print ("Invalid option")

我正在努力解决的领域是:

goback = input("Go back? (Y/N): ")
if goback == "Y":
menu()

因为我希望它能让我完全回到主菜单,而不是一遍又一遍地问同样的问题。

我试着让它在没有输入的情况下显示主菜单,但我真的不太确定如何做到这一点。我添加了menu(),让用户回到主菜单,在那里他们可以再次选择一个选项。我曾尝试用提示问题
option = int(input("Enter your option: "))
跟进menu(),但没有成功,因为当我输入一个选项时,它又回到了同一个"go back?"问题。

解决方案已经存在于注释中,因此,代码:

while True:
goback = input("Go back? (Y/N): ")
if goback == "Y":
menu()
break
elif goback == "N":
pass # Write code according to the action
else:
print ("Invalid option")

输出:


Displaying users... 
Go back? (Y/N): 
N
Go back? (Y/N): 
N
Go back? (Y/N): 
N
Go back? (Y/N): 
Y

到此结束,因为它只是一个片段

相关内容

  • 没有找到相关文章

最新更新