Advertisement
teslariu

Integr2 con algunas excep

Feb 22nd, 2022
1,086
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. #
  4. """
  5. El dueño del comercio te cuenta las opciones que
  6. tienen. Solo 3 combos y un postre:
  7. Menú:
  8. ● Combo Simple (Hamburguesa simple + Bebida +
  9. Fritas) costo 5 usd
  10. ● Combo Doble (Hamburguesa doble + Bebida +
  11. Fritas) costo 6 usd
  12. ● Combo Triple (Hamburguesa Triple + Bebida +
  13. Fritas) costo 7 usd
  14. Postre:
  15. ● McFlurby (Helado de dulce de leche) costo 2 usd
  16. """
  17. import time
  18.  
  19. def ingresar_cantidad(combo):
  20.     while True:
  21.         try:
  22.             cantidad = int(input(f"Ingrese cantidad {combo}: "))
  23.         except ValueError:
  24.             print("Error. Debe ingresar un entero mayor o igual a cero")
  25.         else:
  26.             if cantidad >= 0:
  27.                 return cantidad
  28.             else:
  29.                 print("Error. Ha ingresado una cantidad negativa")
  30.  
  31.  
  32. # Iniciamos la caja
  33. monto = 0
  34.  
  35.  
  36. print("Bienvenido a Hamburguesas IT")
  37. encargado = input("Ingrese su nombre encargad@: ")
  38. # registro el ingreso del encargado:
  39. try:
  40.     f = open("registro.txt", "x")
  41. except FileExistsError:
  42.     f = open("registro.txt", "a")
  43. # Ejemplo de registro
  44. # IN Sat Oct 23 10:18:18 2021 Encargad@ Gerardo
  45. f.write(f"IN {time.asctime()} Encargad@ {encargado}\n")
  46. f.close()
  47.  
  48.  
  49.  
  50. while True:
  51.     print("\nHamburguesas IT")
  52.     print(f"Encargad@ -> {encargado}")
  53.     print("Recuerda, siempre hay que recibir al cliente con una sonrisa :)")
  54.    
  55.     print("""
  56.         1 – Ingreso nuevo pedido
  57.         2 – Cambio de turno
  58.         3 – Apagar sistema
  59.     """)
  60.    
  61.     opcion = input("Seleccione una opción: ")
  62.    
  63.     if opcion == "1":
  64.         cliente = input("Ingrese nombre del cliente: ")
  65.         combo_S = ingresar_cantidad("Combo S")
  66.         combo_D = ingresar_cantidad("Combo D")
  67.         combo_T = ingresar_cantidad("Combo T")
  68.         combo_Flurby = ingresar_cantidad("Combo Flurby")
  69.        
  70.         total = combo_S * 5 + combo_D * 6 + combo_T * 7 + combo_Flurby * 2
  71.         print(f"Total: ${total}")
  72.         abona_con = int(input("Abona con $"))
  73.         print(f"Vuelto ${abona_con - total}")
  74.         pedido = input("¿Confirma pedido? Y/N: ")
  75.  
  76.         if pedido.upper() == "Y":
  77.             monto += total
  78.             try:
  79.                 f = open("ventas.txt", "x")
  80.             except FileExistsError:
  81.                 f = open("ventas.txt", "a")
  82.            
  83.             # Debo grabar los datos de la siguiente forma
  84.             # Juan , Sat Oct 23 10:18:18 2021 , 1 , 1 , 0 , 2 , 15
  85.             f.write(f"{cliente} {time.asctime()}, {combo_S}, {combo_D}, {combo_T}, {combo_Flurby}, {total}\n")
  86.             f.close()
  87.                
  88.  
  89.    
  90.     elif opcion == "2":
  91.         # antes de cambiar de encargado, cierro el anterior
  92.         f = open("registro.txt", "a")
  93.         # Ejemplo de registro
  94.         # OUT Sat Oct 23 18:23:18 2021 Encargad@ Gerardo $450
  95.         # ####################################################
  96.         f.write(f"OUT {time.asctime()} Encargad@ {encargado} ${monto}\n")
  97.         f.write(50 * "#" + "\n")
  98.                
  99.         print("Bienvenido a Hamburguesas IT")
  100.         encargado = input("Ingrese su nombre encargad@: ")
  101.  
  102.         # abro al nuevo encargado
  103.         f.write(f"IN {time.asctime()} Encargad@ {encargado}\n")
  104.         f.close()
  105.        
  106.        
  107.    
  108.     elif opcion == "3":
  109.         f = open("registro.txt", "a")
  110.         f.write(f"OUT {time.asctime()} Encargad@ {encargado} ${monto}\n")
  111.         f.write(50 * "#" + "\n")
  112.         f.close()
  113.         print("Apagando el sistema...")
  114.         break
  115.        
  116.     else:
  117.         print("Opción incorrecta...")
  118.  
Advertisement
RAW Paste Data Copied
Advertisement