Generation

generate functionSun, 06 Apr 2025

menu de articulos de venta de cuñas numero de articulos y sitio de inicio de sesion con correo electronico y metodo de pago para finalizar si no se lleva acabo volver al principio de la compra

Aquí te muestro un ejemplo de cómo podrías implementar un menú de artículos de venta de cuñas en Python, con inicio de sesión con correo electrónico y método de pago para finalizar la compra. Si no se lleva a cabo, volver al principio de la compra. ```python # Importar bibliotecas necesarias import getpass import hashlib import os # Clase para representar un artículo class Articulo: def __init__(self, id, nombre, precio): self.id = id self.nombre = nombre self.precio = precio # Clase para representar un usuario class Usuario: def __init__(self, correo, contraseña): self.correo = correo self.contraseña = hashlib.sha256(contraseña.encode()).hexdigest() # Clase para representar la tienda class Tienda: def __init__(self): self.articulos = [ Articulo(1, "Cuña de madera", 10.99), Articulo(2, "Cuña de metal", 14.99), Articulo(3, "Cuña de plástico", 7.99) ] self.usuarios = { "usuario1@example.com": Usuario("usuario1@example.com", "contraseña1"), "usuario2@example.com": Usuario("usuario2@example.com", "contraseña2") } def mostrar_articulos(self): print("Artículos disponibles:") for articulo in self.articulos: print(f"{articulo.id}. {articulo.nombre} - ${articulo.precio:.2f}") def iniciar_sesion(self): correo = input("Ingrese su correo electrónico: ") contraseña = getpass.getpass("Ingrese su contraseña: ") if correo in self.usuarios and self.usuarios[correo].contraseña == hashlib.sha256(contraseña.encode()).hexdigest(): print("Inició sesión correctamente") return correo else: print("Correo electrónico o contraseña incorrectos") return None def agregar_articulo_al_carrito(self, correo): self.mostrar_articulos() id_articulo = int(input("Ingrese el número del artículo que desea agregar al carrito: ")) for articulo in self.articulos: if articulo.id == id_articulo: self.carrito[correo].append(articulo) print(f"Se agregó {articulo.nombre} al carrito") return print("Artículo no encontrado") def pagar_carrito(self, correo): self.mostrar_carrito(correo) total = sum(articulo.precio for articulo in self.carrito[correo]) print(f"Total a pagar: ${total:.2f}") metodo_pago = input("Ingrese el método de pago (tarjeta, efectivo, etc.): ") if metodo_pago.lower() == "tarjeta": print("Pago realizado con éxito") self.carrito[correo] = [] else: print("Pago no realizado") def mostrar_carrito(self, correo): if correo in self.carrito: print("Artículos en el carrito:") for articulo in self.carrito[correo]: print(f"{articulo.nombre} - ${articulo.precio:.2f}") else: print("Carrito vacío") def iniciar_compra(self): correo = self.iniciar_sesion() if correo: self.carrito = {correo: []} while True: print("\n1. Agregar artículo al carrito") print("2. Ver carrito") print("3. Pagar carrito") print("4. Salir") opcion = input("Ingrese la opción: ") if opcion == "1": self.agregar_articulo_al_carrito(correo) elif opcion == "2": self.mostrar_carrito(correo) elif opcion == "3": self.pagar_carrito(correo) elif opcion == "4": break else: print("Opción inválida") else: self.iniciar_compra() tienda = Tienda() tienda.iniciar_compra() ``` Este código define tres clases: `Articulo`, `Usuario` y `Tienda`. La clase `Tienda` tiene métodos para mostrar los artículos disponibles, iniciar sesión, agregar artículos al carrito, pagar el carrito y mostrar el carrito. La función `iniciar_compra` es la que inicia el proceso de compra. Primero, se pregunta al usuario si quiere iniciar sesión. Si el usuario ingresa correctamente su correo electrónico y contraseña, se le muestra el menú de opciones para agregar artículos al carrito, ver el carrito, pagar el carrito o salir. Si el usuario selecciona agregar artículo al carrito, se le muestra la lista de artículos disponibles y se le pide que ingrese el número del artículo que quiere agregar. Si el artículo se encuentra en la lista, se agrega al carrito del usuario. Si el usuario selecciona ver carrito, se le muestra la lista de artículos que tiene en el carrito. Si el usuario selecciona pagar carrito, se le muestra el total a pagar y se le pide que ingrese el método de pago. Si el método de pago es tarjeta, se considera que el pago se ha realizado con éxito y se vacía el carrito del usuario. Si el usuario selecciona salir, se sale del menú de opciones y se vuelve a iniciar el proceso de compra.

Want to kickstart your project?Use the new AI Studio to create your code