0

目前我的代码有点麻烦。我正在制作一个非常基本的 RPG,并且遇到了这个问题:(未绑定的方法 wrongCommand.wrong)我也在运行 python 2.7.5 和 windows 7。

这是我的代码:

import os
class wrongCommand():
    def wrong():
        os.system("cls")
        print "Sorry, the command that you entered is invalid."
        print "Please try again."


def main():
    print "Welcome to the game!"
    print "What do you want to do?"
    print "1.) Start game"
    print "2.) More information/Credits"
    print "3.) Exit the game"
    mm = raw_input("> ")
    if mm != "1" and mm != "2" and mm != "3":
        print wrongCommand.wrong
        main();

main()
4

1 回答 1

2

所以首先,你想改变

print wrongCommand.wrong

print wrongCommand.wrong()

(注意:添加打开和关闭括号)

但是你会得到从该wrong方法打印的行以及该方法的返回值,当前为 None。

那么我可能会改变

print wrongCommand.wrong()

简单来说

wrongCommand.wrong()

(注:删除print声明)

或者,您可以wrong() 返回一个字符串,而不是打印一个,然后是这一行

print wrongCommand.wrong()

会好的。


您要么必须调用类实例wrong()的方法,例如

wc = wrongCommand() # Create a new instance
wc.wrong()

或者干脆

wrongCommand().wrong()

无论哪种情况,您都必须将wrong()方法定义更改为

def wrong(self):
    #...

或者你会得到一个错误,比如“wrong() 只需要 1 个参数,没有”。

或者您可以将错误的方法定义为类方法或静态方法:

@staticmethod
def wrong():
    # ...

或者

@classmethod
def wrong(cls):
    #...
于 2013-09-26T00:22:22.800 回答