ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Parte de parcial de programacion


Enviado por   •  2 de Octubre de 2024  •  Examen  •  1.530 Palabras (7 Páginas)  •  47 Visitas

Página 1 de 7

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):

"""

...

Descargar como (para miembros actualizados) txt (5 Kb) pdf (43 Kb) docx (10 Kb)
Leer 6 páginas más »
Disponible sólo en Clubensayos.com