我正在创建一个菜单,但我遇到了一个错误,需要一些帮助,因为我不知道出了什么问题或如何修复它,这段代码说我正在输入一个参数,但我没有输入一个参数。
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)
最佳答案
您忘记添加 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
类并只使用保留这些方法。
关于Python 类参数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30448258/