0

私はPythonが初めてで、次のコードを書きました:

class Frazione:
    def __init__(self, Numeratore, Denominatore=1):
        mcd=MCD(Numeratore,Denominatore)
        self.Numeratore=Numeratore/mcd
        self.Denominatore=Denominatore/mcd

    def MCD(m,n):
        if m%n==0:
            return n
        else:
            return MCD(n,m%n)

    def __str__(self):
        return "%d/%d" %(self.Numeratore, self.Denominatore)

    def __mul__(self, AltraFrazione):
        if type(AltraFrazione)==type(5):
            AltraFrazione=Frazione(AltraFrazione)
        return Frazione(self.Numeratore*AltraFrazione.Numeratore, self.Denominatore*AltraFrazione.Denominatore)

    __rmul__=__mul__

Frazione.py の同じフォルダーでシェルを開きます。

>>> from Frazione import Frazione 

その後終了

>>> f=Frazione(10,5)

Enter キーを押すと、次の出力が表示されます。

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File ".\Frazione.py", line 5, in __init__
  mcd=MCD(Numeratore,Denominatore)
  NameError: global name 'MCD' is not defined

PS。私の英語でごめんなさい!

4

1 に答える 1