Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

270
Vistas
¿Cómo llamar a una clase usando 3 funciones?

Me gustaría crear una clase de Python con 3 funciones.

  • La función 1 le pedirá al usuario que ingrese un número.
  • La función 2 le pedirá al usuario que ingrese otro número.
  • La función 3 multiplicará la función 1 * la función 2 y volverá al producto.

Aquí está el código que tengo hasta ahora:

 class Product: def __init__(self, x, y): self.x = x self.y = y def get_x(self): x = int(input('What is the first number?: ') def get_y(self): y = int(input('What is the second number?: ') def mult_XY(self): return x * y

Cuando trato de llamar a la clase, obtengo 'y' is not defined .

Intenté usar el siguiente código:

 num = Product(x, y) print(num.mult_XY)
over 4 years ago · Santiago Trujillo
4 Respuestas
Responde la pregunta

0

Parece que olvidó usar la palabra clave self en la definición de la función. Hay muchos errores en tu código. Creo que esta es la versión correcta de su código:

 class Product: def __init__(self, x, y): self.x = x self.y = y def get_x(self): self.x = int(input('What is the first number?: ')) def get_y(self): self.y = int(input('What is the second number?: ')) def mult_XY(self): return self.x * self.y

Y así es como deberías comprobar que funciona:

(Versión actualizada)

 x = 10 y = 5 num = Product(x, y) num.get_x() num.get_y() print(num.mult_XY())
over 4 years ago · Santiago Trujillo Denunciar

0

Para hacer referencia a cualquier cosa almacenada en el objeto actual, debe usar self. como lo hizo en la función init para guardar originalmente los valores.

Ejemplo:

 class Product: def __init__(self, x, y): self.x = x self.y = y def get_x(self): self.x = int(input('What is the first number?: ')) def get_y(self): self.y = int(input('What is the second number?: ')) def mult_XY(self): return self.x * self.y
over 4 years ago · Santiago Trujillo Denunciar

0

No estoy seguro de entenderlo correctamente, pero es posible que necesite "x" e "y" para ser las entradas dentro de la clase.

Si es así, use classmethod s:

 class Product: @classmethod def get_x(self): self.x = int(input('What is the first number?: ')) return self @classmethod def get_y(self): self.y = int(input('What is the second number?: ')) return self @classmethod def mult_XY(self): return self.x * self.y

Ex:

 >>> Product.get_x().get_y().mult_XY() What is the first number?: 3 What is the second number?: 4 12 >>>
over 4 years ago · Santiago Trujillo Denunciar

0

Aquí hay una solución de trabajo. Compáralo con tu solución actual y detecta las diferencias. Después del siguiente fragmento de código, resaltaré los conceptos que necesita investigar para comprender mejor este programa.

Aquí hay una versión correcta de su código (nota: potencialmente hay más de una solución):

 class Product: def __init__(self): return def get_x(self): self.x = int(input('What is the first number?: ')) return self.x def get_y(self): self.y = int(input('What is the second number?: ')) return self.y def mult_XY(self): return self.x * self.y p = Product() x = p.get_x() y = p.get_y() result = p.mult_XY() print('RESULT of {} * {} = {}'.format(x, y, result))

¿Es esta la mejor respuesta? No. Dependiendo de las especificaciones de su programa, la estructura del código podría ser diferente.

Tiene lagunas de conocimiento sobre los siguientes conceptos:

  • Objetos y clases en Python
  • Funciones en Python
  • Variables y alcance en Python

Para comprender mejor, debe aprender más sobre los fundamentos de Python. Aquí hay un buen recurso para comenzar: https://python-textbok.readthedocs.io/en/1.0/Introduction.html

Después de leer eso, no solo podrá responder a esta pregunta, sino también establecer las bases para su conocimiento de programación. No te rindas y te deseo lo mejor.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda