简单的python类无法正常工作

时间:2016-09-18 18:07:23

标签: python

我在Python中遇到这个类的问题,为什么它不起作用?

class Quiz:
    def __init__(self, answer, question):
        self.answer = answer
        self.question = question

    def yesno(self):
        if self.answer == self.question:
        return str("Correct!")
    else:
        return str("Wrong!")

print("Time for a quiz.")

print("What is ((((6^2 * 10) + sqrt((5000*3) - 600)) / 4! ) * 4 ) - log(1 * 10^11)?")
userAnswer = int(input())
question1 = Quiz(userAnswer, 69)
Quiz.yesno()

2 个答案:

答案 0 :(得分:1)

question1.yesno()会奏效。

yesno()是一个可以被类对象调用的方法。如果它是一个静态方法,那么Quiz.yesno()就可以了。

答案 1 :(得分:0)

是的,你需要实例化这个类。因此,question1.yesno()是调用方法时的正确方法(您在对象实例上调用方法)。

此外,您有一个小的缩进错误,可能会导致一些问题。

def yesno(self):
        if self.answer == self.question:
        return str("Correct!")
    else:
        return str("Wrong!")

实际应该是:

def yesno(self):
            if self.answer == self.question:
               return str("Correct!")
            else:
               return str("Wrong!")