Parte de parcial de programacion
Enviado por pedro micol • 2 de Octubre de 2024 • Examen • 1.530 Palabras (7 Páginas) • 48 Visitas
class Producto:
"""
Clase que representa un producto en el inventario.
"""
def __init__(self, nombre, cantidad):
"""
Inicializa un nuevo Producto con un nombre y una cantidad.
Args:
nombre (str): El nombre del producto.
cantidad (int): La cantidad del producto en inventario.
"""
self.nombre = nombre
self.cantidad = cantidad
class Inventario:
"""
Clase que gestiona el inventario de productos.
"""
def __init__(self, archivo):
"""
Inicializa un nuevo Inventario.
Args:
archivo (str): El nombre del archivo donde se guardará el inventario.
"""
self.archivo = archivo
self.productos = self.cargar_inventario()
def cargar_inventario(self):
"""
Carga el inventario desde un archivo.
Si el archivo no existe, devuelve una lista vacía.
Returns:
list: Lista de productos cargados desde el archivo.
"""
try:
with open(self.archivo, 'r') as file:
productos = []
for line in file:
nombre, cantidad = line.strip().split(':')
productos.append(Producto(nombre, int(cantidad)))
return productos
except FileNotFoundError:
return []
def guardar_inventario(self):
"""
Guarda el inventario en un archivo.
"""
with open(self.archivo, 'w') as file:
for producto in self.productos:
file.write(f"{producto.nombre}:{producto.cantidad}\n")
def agregar_producto(self, nombre, cantidad):
"""
Agrega un nuevo producto al inventario.
Args:
nombre (str): El nombre del producto a agregar.
cantidad (int): La cantidad del producto a agregar.
"""
producto = Producto(nombre, cantidad)
self.productos.append(producto)
self.guardar_inventario()
def buscar_producto(self, nombre):
"""
Busca un producto en el inventario por su nombre.
Args:
nombre (str): El nombre del producto a buscar.
Returns:
Producto: El producto encontrado, o None si no se encuentra.
"""
for producto in self.productos:
if producto.nombre == nombre:
return producto
return None
def borrar_producto(self, nombre):
"""
...