• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

211
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 3 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 3 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 3 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 3 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 3 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 Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda