从主目录的继承类访问方法

2024-05-29 01:59:18 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的密码:

  class Asignaturas(object):
      def __init__(self,asignatura):
          self.asignatura = asignatura

  class Mate(Asignaturas):
    def mcm(self,num1,num2):
        print("estoy en el mcm\n")
        if(num1>num2):
            x = num1
        else:
            x = num2
        while(True):
            if((x %  num1 == 0) and (x % num2 ==0)):
                mcm = x
                break
            x = x+1
        print("aqui dentro del mcm\n")
        print(mcm)
        return mcm

if __name__ == "__main__":
x = int(input("que asignatura quieres ver? 1. 
Matematica 2.LEnguaje 3.Artes\n"))
if (x==1):
    y = int(input("quieres saber> 1.mcm o 
2.potencia\n"))
    if(y==1):
        num1 = int(input("ingresa un numero:\n"))
        num2 = int(input("ingresa otro numero:"))
        mcm = Mate(num1,num2)
        print(mcm)
        print("el mcm es:",mcm)

所以我要做的是从类Mate访问方法mcm,也就是从另一个类Asignaturas访问一个类。我试图从main调用它,但它给了我这个错误:

Traceback (most recent call last):
  File "huesos2.py", line 28, in <module>
   **mcm = Mate(num1,num2)**
TypeError: __init__() takes 2 positional arguments but 3 were given

Tags: selfinputifinitdefelclassint
1条回答
网友
1楼 · 发布于 2024-05-29 01:59:18

必须首先通过从Asignaturas调用init()函数来初始化Mate对象。 注意,它需要一个参数def __init__(self,asignatura):(您不必关心self) 然后你得到一个物体。你可以用你的2个号码给这个对象调用mcm

所以你的代码必须是这样的:

mate = Mate(asignatura)
mate.mcm(num1, num2)

相关问题 更多 >

    热门问题