-4

initメソッドにリストされている関数のいずれかをmathsum メソッドから呼び出そうとしていますが、次のようなエラーが発生し続けます。

「XXX」オブジェクトには属性「operator」がありません。

 class Math(object):
        "Main class to generate different math sums based on operator and difficulty levels"

        def __init__(self):
            self.operator = [
                addition,
                subtraction,
                multiplication,
                division
                ])

        def addition(self, a, b): return ('addition', '+', a+b)

        def subtraction(self, a, b): return ('subtraction', '-', a-c)

        def mutliplication(self, a, b): return ('multiplication', '*', a*c)

        def division(self, a, b): return ('division', '/', a/c)

        def mathsum(self, difficulty):
            """Function that generates random operator and math sum checks against your answer"""
            print self.operator

助けてください

4

2 に答える 2

2

いくつかのself.sがありません:

def __init__(self):
    self.operator = [
        self.addition,
        self.subtraction,
        self.multiplication,
        self.division
        ]

また、関数定義で乗算のスペルが間違っていることに注意してください。

于 2013-06-08T18:32:30.040 に答える
0

これとともに:

class MyMath(object):
    """Main class to generate different math sums based on operator and difficulty levels"""

    def __init__(self):
        self.operator = [ self.addition, self.subtraction, self.multiplication, self.division ]

    def addition(self, a, b):
        return ('addition', '+', a+b)

    def subtraction(self, a, b):
        return ('subtraction', '-', a-b)

    def multiplication(self, a, b):
        return ('multiplication', '*', a*b)

    def division(self, a, b):
        return ('division', '/', a/b)

    def mathsum(self, difficulty, a, b):
        """Function that generates random operator and math sum checks against your answer"""
        print self.operator

これを呼び出す:

MyMath().addition(2, 3)

これを与える:

('addition', '+', 5)

呼び出しシーケンスと結果に関してあなたが何を期待しているのかわかりませんが、上記のように宣言して呼び出した場合、これはエラーを生成しません。

于 2013-06-08T19:06:43.097 に答える