这是我的代码。
import fileinput, random
from os import system as sys
from sys import exit
class crazy8(object):
question = raw_input("please enter a yes or no question \n")
def fortune(self, filex, current):
current = r"./"
fortunes = list(fileinput.input(filex))
sys("cd", current)
print random.choice(fortunes)
crazy8.fortune(r"./crazy8")
exit(0)
当我运行程序时,我输入一个问题(我知道程序不关心输入的内容)。我觉得我上课时做错了。我知道当没有class:语句时它工作正常,但我需要那里的类(在我完成之后,我将把它用作模块)。
在问题之后,我得到了
TypeError: unbound method fortune() must be called with crazy8 instance as first argument (got str instance instead)
(我还没有添加任何错误检查。如果文件./crazy8不存在,我会尝试添加try和catch / raise。此外,我稍后会添加一个自动sys的文件(“触摸./crazy8“)(在Mac / linux上),在我找到如何在Windows上创建文件之后,我将添加它。
答案 0 :(得分:1)
你需要创建类的实例或对象(同样的事情)
x = crazy8()
x.fortuner(r,"./crazy8")
通常的做法是让您的课程以大写字母和小写字母开头。
class Crazy8
crazy8 = Crazy8()
希望这有帮助
答案 1 :(得分:0)