Python 我在子菜单中有嵌套函数,但它们不能按我所希望的那样工作
我有一个预订菜单,每次有人进入新的预订时,它都会将预订列表和座位表写入文本文件 我有一个菜单,可以选择显示座位表、购买座位、嵌套管理菜单或退出。admin命令打开一个新菜单,允许您清除预订列表的内容、返回主菜单或退出;或者至少应该是这样。我一定是错误检查出了问题,或者我不能用这种方式构建它。有人能看出我错在哪里吗?我有一个大的程序,可以发布更多,但我宁愿只发布我有麻烦的部分。其他功能在主程序级别(与菜单功能相同的级别)定义,嵌套功能是否也应在该级别定义?谢谢Python 我在子菜单中有嵌套函数,但它们不能按我所希望的那样工作,python,function,nested,Python,Function,Nested,我有一个预订菜单,每次有人进入新的预订时,它都会将预订列表和座位表写入文本文件 我有一个菜单,可以选择显示座位表、购买座位、嵌套管理菜单或退出。admin命令打开一个新菜单,允许您清除预订列表的内容、返回主菜单或退出;或者至少应该是这样。我一定是错误检查出了问题,或者我不能用这种方式构建它。有人能看出我错在哪里吗?我有一个大的程序,可以发布更多,但我宁愿只发布我有麻烦的部分。其他功能在主程序级别(与菜单功能相同的级别)定义,嵌套功能是否也应在该级别定义?谢谢 def menu(): p
def menu():
print(
'Select chioce from menu:\n\nP to purchase an available bus seat\nD to display current bus seat chart\nEnter password (admin) for admin menu\nQ to quit')
while True:
try:
menu_choice = str(input(' \n')).upper()
if menu_choice == str('D'):
display()
break
elif menu_choice == str('P'):
book()
break
elif menu_choice == str('ADMIN'):
def clear_booking(): # the nested functions are not working-
print('Clearing bookings')
with open("bookings.txt") as f:
f.write("")
def previous():
menu()
print('CB to clear bookings\nR to return to main menu\nQ to quit')
admin_choice = str(input(' \n')).upper
if admin_choice == str('CB'):
clear_booking()
elif admin_choice == str('R'):
previous()
elif admin_choice == str('Q'):
exit()
else:
print('Invalid choice')
exit()
elif menu_choice == str('Q'):
print('exiting program')
exit()
else:
print('Value not recognized.')
exit()
except ValueError:
print('Invalid entry')
return # how do i get rid of the none from this returning correctly?
print(menu())
您忘记了()在admin\u choice=str(输入('\n'))处。upper在upper()函数调用处
此外,您还可以返回带有文本的字符串,而不只是在menu()函数体的最后一行返回return
另外,请尝试在问题的介绍性文本中包含您的问题陈述,以明确代码的问题所在,以及您希望实现的目标。谢谢,这就成功了。忘记了()。另外,感谢您提供有关添加字符串的提示。我自己还在努力,所以没有问。我加了一个“”并且效果很好。我会记得在将来把这个问题提前提出来,我只是觉得一些信息会有帮助。完成此操作后,我看到clear_bookings函数没有清除我的文本文件,但其他函数工作正常。