super
class Calculadora:
def __init__(self, numero):
self.n = numero
def ingresardato(self):
self.datos = [int(input(f"Ingresar dato {i+1}: ")) for i in range(self.n)]
class Op_basicas(Calculadora):
def __init__(self):
Calculadora.__init__(self, 2)
def sumar(self):
a,b = self.datos
return f"La suma es: {a+b}"
def restar(self):
a,b = self.datos
return f"La resta es: {a-b}"
class Raiz(Calculadora):
def __init__(self):
Calculadora.__init__(self, 1)
def cuadrada(self):
a, = self.datos
return f"La raiz cuadrada es: {a**.5}"
if __name__ == "__main__":
print("Para las Operaciones Básicas se requieren 2 datos.")
ejemplo1 = Op_basicas()
ejemplo1.ingresardato()
print(ejemplo1.sumar())
print(ejemplo1.restar())
print()
print("Para la Raiz Cuadrada se requiere 1 dato.")
ejemplo2 = Raiz()
ejemplo2.ingresardato()
print(ejemplo2.cuadrada())
Para las Operaciones Básicas se requieren 2 datos. Ingresar dato 1: 20 Ingresar dato 2: 8 La suma es: 28 La resta es: 12 Para la Raiz Cuadrada se requiere 1 dato. Ingresar dato 1: 144 La raiz cuadrada es: 12.0
import math
class Figura:
def __init__(self, numero):
self.n = numero
def ingresar_datos(self):
self.datos = [float(input(f"Ingresar dato {i + 1}: ")) for i in range(self.n)]
class Rectangulo(Figura):
def __init__(self):
Figura.__init__(self, 2)
def area(self):
base, altura = self.datos
return f"El área del rectángulo es: {base * altura}"
def perimetro(self):
base, altura = self.datos
return f"El perímetro del rectángulo es: {2 * (base + altura)}"
class Circulo(Figura):
def __init__(self):
Figura.__init__(self, 1)
def area(self):
radio, = self.datos # la coma es importante para desempaquetar el array
return f"El área del círculo es: {math.pi * radio**2}"
def perimetro(self):
radio, = self.datos
return f"El perímetro del círculo es: {2 * math.pi * radio}"
if __name__ == "__main__":
print("Para el Rectángulo se dipen 2 datos: base y altura.")
ejemplo1 = Rectangulo()
ejemplo1.ingresar_datos()
print(ejemplo1.area())
print(ejemplo1.perimetro())
print()
print("Para el Círculo se pide 1 dato: el radio.")
ejemplo2 = Circulo()
ejemplo2.ingresar_datos()
print(ejemplo2.area())
print(ejemplo2.perimetro())
Para el Rectángulo se dipen 2 datos: base y altura. Ingresar dato 1: 2 Ingresar dato 2: 3 El área del rectángulo es: 6.0 El perímetro del rectángulo es: 10.0 Para el Círculo se pide 1 dato: el radio. Ingresar dato 1: 5 El área del círculo es: 78.53981633974483 El perímetro del círculo es: 31.41592653589793
class Conversor:
def __init__(self, numero):
self.n = numero
def ingresar_dato(self):
self.datos = [float(input(f"Ingresar dato {i + 1}: ")) for i in range(self.n)]
class Temperatura(Conversor):
def __init__(self):
Conversor.__init__(self, 1)
def celsius_a_fahrenheit(self):
celsius, = self.datos
return f"La temperatura en Fahrenheit es: {celsius * 9/5 + 32}"
def fahrenheit_a_celsius(self):
fahrenheit, = self.datos
return f"La temperatura en Celsius es: {(fahrenheit - 32) * 5/9}"
class Distancia(Conversor):
def __init__(self):
Conversor.__init__(self, 1)
def km_a_millas(self):
km, = self.datos
return f"La distancia en millas es: {km * 0.621371}"
def millas_a_km(self):
millas, = self.datos
return f"La distancia en kilómetros es: {millas / 0.621371}"
if __name__ == "__main__":
ejemplo1 = Temperatura()
ejemplo1.ingresar_dato()
print(ejemplo1.celsius_a_fahrenheit())
print(ejemplo1.fahrenheit_a_celsius())
print()
ejemplo2 = Distancia()
ejemplo2.ingresar_dato()
print(ejemplo2.km_a_millas())
print(ejemplo2.millas_a_km())
Ingresar dato 1: 40 La temperatura en Fahrenheit es: 104.0 La temperatura en Celsius es: 4.444444444444445 Ingresar dato 1: 10 La distancia en millas es: 6.21371 La distancia en kilómetros es: 16.093444978925632
En este caso se usa super
class Vehiculo:
def __init__(self, numero):
self.n = numero
def ingresar_datos(self):
self.datos = [input(f"Ingresar dato {i + 1}: ") for i in range(self.n)]
class Automovil(Vehiculo):
def __init__(self):
super().__init__(4)
def mostrar_informacion(self):
marca, modelo, color, num_puertas = self.datos
return f"Automóvil: Marca: {marca}, Modelo: {modelo}, Color: {color}, Número de puertas: {num_puertas}"
class Motocicleta(Vehiculo):
def __init__(self):
super().__init__(3)
def mostrar_informacion(self):
marca, modelo, tipo = self.datos
return f"Motocicleta: Marca: {marca}, Modelo: {modelo}, Tipo: {tipo}"
if __name__ == "__main__":
print("Ingrese la información del automóvil (marca, modelo, color y número de puertas):")
ejemplo1 = Automovil()
ejemplo1.ingresar_datos()
print(ejemplo1.mostrar_informacion())
print()
print("Ingrese la información de la motocicleta (marca, modelo y tipo):")
ejemplo2 = Motocicleta()
ejemplo2.ingresar_datos()
print(ejemplo2.mostrar_informacion())
Ingrese la información del automóvil (marca, modelo, color y número de puertas): Ingresar dato 1: Ford Ingresar dato 2: K Ingresar dato 3: rojo Ingresar dato 4: 3 Automóvil: Marca: Ford, Modelo: K, Color: rojo, Número de puertas: 3 Ingrese la información de la motocicleta (marca, modelo y tipo): Ingresar dato 1: Yamaha Ingresar dato 2: XSR700 Ingresar dato 3: Sport Motocicleta: Marca: Yamaha, Modelo: XSR700, Tipo: Sport