我正在创建一个菜单,但我遇到了一个错误,希望得到一些帮助,因为我不知道什么是错的或如何解决它,这段代码说我正在讨论但是我没有参加辩论。
class menu(object):
def print_menu():
# menu options
print "Main Menu:"
print "Start"
print "Quit"
def user_menu():
# users input
menu_choice = raw_input('> ')
if menu_choice == 'start':
start()
#does nothing as of yet
elif menu_choice == 'quit':
raise SystemExit
def start():
pass
#initialising main menu
main = menu()
def start_up()
main.print_menu()
#first attempt
main.user_menu()
#second attempt
main.user_menu()
#third attempt
main.user_menu()
# start again to show the menu options
start_up()
start_up()
请帮助,这是我运行脚本时在控制台中发生的最近调用的回溯错误
Traceback (most recent call last):
File "Engine.py", line 38, in <module>
start_up()
File "Engine.py", line 27, in start_up
main.print_menu()
TypeError: print_menu() takes no arguments (1 given)
答案 0 :(得分:1)
您忘记添加self
作为参数。
所以它看起来像这样:
class menu(object):
def print_menu(self):
# menu options
print "Main Menu:"
print "Start"
print "Quit"
def user_menu(self):
# users input
menu_choice = raw_input('> ')
if menu_choice == 'start':
start()
#does nothing as of yet
elif menu_choice == 'quit':
raise SystemExit
此外,我不确定是否需要在此使用class
。如果我是你,我会摆脱menu
类,并使用这些方法。