Implementación de Clases en Python para la Gestión de Heladerías
Clasificado en Otras materias
Escrito el en
español con un tamaño de 2,81 KB
Estructura de Clases para la Gestión de Helados
A continuación, se presenta la implementación de las clases Helado y Heladeria utilizando el paradigma de Programación Orientada a Objetos (POO) en Python.
Clase Helado
class Helado:
def __init__(self, nom, cod, prec):
self.nombre = nom
self.codigo = cod
self.precio_por_litro = prec
def cambiar_precio(self, precio_nuevo):
self.precio_por_litro = precio_nuevoClase Heladeria
class Heladeria:
def __init__(self):
self.helados = []
self.recetas = []Gestión de Helados
- Buscar Helado: Verifica la existencia de un helado por nombre o código.
def buscar_helado(self, codigo, nombre):
helado_buscado = None
for helado in self.helados:
if helado.nombre == nombre or helado.codigo == codigo:
helado_buscado = helado
break
return helado_buscado- Registrar Helado: Añade un nuevo helado validando que no existan duplicados.
def registrar_helado(self, codigo, nombre, precio):
ok = False
helado_buscado = self.buscar_helado(codigo, nombre)
if helado_buscado is None:
self.helados.append(Helado(nombre, codigo, precio))
ok = True
return okModificación de Precios
def buscar_helado_nombre(self, nombre):
helado_buscado = None
for helado in self.helados:
if helado.nombre == nombre:
helado_buscado = helado
break
return helado_buscado
def cambiar_precio_helado(self, nom_helado, precio_nuevo):
ok = False
helado_buscado = self.buscar_helado_nombre(nom_helado)
if helado_buscado is not None:
helado_buscado.cambiar_precio(precio_nuevo)
ok = True
return okGestión de Recetas
- Filtrado por cantidad de ingredientes: Devuelve la cantidad de recetas con ingredientes dentro de un rango específico.
def recetas_con_cant_ingredientes(self, cant_menor, cant_mayor):
cantidad_recetas = 0
for receta in self.recetas:
if cant_menor < len(receta.lista_ingredientes) < cant_mayor:
cantidad_recetas += 1
return cantidad_recetas- Búsqueda por ingrediente y helado: Cuenta las recetas que contienen un ingrediente específico para un helado determinado.
def recetas_helado_ingrediente(self, ingred, nom_helado):
cantidad_recetas = 0
for receta in self.recetas:
if receta.helado.nombre == nom_helado and ingred in receta.lista_ingredientes:
cantidad_recetas += 1
return cantidad_recetas