我在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()
答案 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!")