Lemarchand79

Calculadora

Jun 21st, 2020
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 5.66 KB | None | 0 0
  1. # Documentación: Módulo sys
  2. # https://uniwebsidad.com/libros/python/capitulo-10/modulos-de-sistema
  3. # Esta calculadora debe estar formada por 7 módulos o secciones
  4.  
  5. import sys
  6. from functools import reduce
  7. import operator
  8. import functools
  9.  
  10. print("\n========== MENÚ PRINCIPAL ==========\n")
  11.  
  12.  
  13. def menu_operaciones():
  14.     print("===== Operaciones Aritméticas =====\n")
  15.     op_aritmeticas = {
  16.         "1": "Suma (+)",
  17.         "2": "Resta (-)",
  18.         "3": "Multiplicación (*)",
  19.         "4": "División (/)",
  20.         "5": "Exponenciación (**)",
  21.         "6": "División Entera (//)",
  22.         "7": "Módulo (%)",
  23.         "8": "SALIR"
  24.     }
  25.     print("Operaciones aritméticas disponibles\n")
  26.     for llave, valor in op_aritmeticas.items():
  27.         print(llave, valor)
  28.     print()
  29.  
  30.     on_off = input("Iniciar calculadora = 1 / Finalizar calculadora = 0: ")
  31.     while on_off != 0:
  32.         operador = input("Ingrese número de la operación a realizar: ")
  33.         if operador == "1":
  34.             sumar()
  35.         elif operador == "2":
  36.             restar()
  37.         elif operador == "3":
  38.             multiplicar()
  39.         elif operador == "4":
  40.             dividir()
  41.         elif operador == "5":
  42.             exponenciacion()
  43.         elif operador == "6":
  44.             division_entera()
  45.         elif operador == "7":
  46.             modulo()
  47.         elif operador == "8":
  48.             sys.exit()
  49.         else:
  50.             print("INGRESÓ UN VALOR NO VÁLIDO")
  51.  
  52.  
  53. def sumar():
  54.     while True:
  55.         on_off = input("Inicio suma = 1 / Fin suma = 0: ")
  56.         if on_off == "1":
  57.             lista_suma = []
  58.             suma = 0
  59.             limite = int(input("Ingrese el valor límite de la lista: "))
  60.             for x in range(1, limite + 1):
  61.                 numero = float(input("Ingrese valor a sumar: "))
  62.                 lista_suma.append(numero)
  63.                 suma = suma + numero
  64.             print(f"Elementos de la lista: {lista_suma}")
  65.             print(f"Resultado de la suma: {suma}")
  66.             break
  67.         elif on_off == "0":
  68.             break
  69.         print("Valor incorrecto. Intente nuevamente")
  70.  
  71.  
  72. def restar():
  73.     while True:
  74.         on_off = input("Inicio resta = 1 / Fin resta = 0: ")
  75.         if on_off == "1":
  76.             lista_resta = []
  77.             limite = int(input("Ingrese valor límite de la lista: "))
  78.             for x in range(1, limite + 1):
  79.                 numero = float(input("Ingrese número: "))
  80.                 lista_resta.append(numero)
  81.             print("Resultado de la resta:", reduce(operator.sub, lista_resta))
  82.             print(f"Elementos de la lista: {lista_resta}")
  83.         elif on_off == "0":
  84.             break
  85.         elif on_off != "1" and on_off != "0":
  86.             print("Valor incorrecto. Intente nuevamente")
  87.  
  88.  
  89. def multiplicar():
  90.     while True:
  91.         on_off = input("Inicio multiplicación = 1 / Fin multiplicación = 0: ")
  92.         if on_off == "1":
  93.             lista_mul = []
  94.             limite = int(input("Ingrese valor límite de la lista: "))
  95.             for x in range(1, limite + 1):
  96.                 numero = float(input("Ingrese número: "))
  97.                 lista_mul.append(numero)
  98.             print("Resultado de la multiplicación:",
  99.                   reduce(operator.mul, lista_mul))
  100.             print(f"Elementos de la lista: {lista_mul}")
  101.         elif on_off == "0":
  102.             break
  103.         elif on_off != "1" and on_off != "0":
  104.             print("Valor incorrecto. Intente nuevamente")
  105.  
  106.  
  107. def dividir():
  108.     while True:
  109.         on_off = input("Inicio división = 1 / Fin división = 0: ")
  110.         if on_off == "1":
  111.             lista_div = []
  112.             limite = int(input("Ingrese valor límite de la lista: "))
  113.             for x in range(1, limite + 1):
  114.                 numero = float(input("Ingrese número: "))
  115.                 lista_div.append(numero)
  116.             print("Resultado de la divisón:",
  117.                   reduce(operator.truediv, lista_div))
  118.             print(f"Elementos de la lista: {lista_div}")
  119.         elif on_off == "0":
  120.             break
  121.         elif on_off != "1" and on_off != "0":
  122.             print("Valor incorrecto. Intente nuevamente")
  123.  
  124.  
  125. def division_entera():
  126.     while True:
  127.         on_off = input("Inicio división entera = 1 / Fin división entera = 0: ")
  128.         if on_off == "1":
  129.             num = float(input("Ingrese valor: "))
  130.             num2 = float(input("Ingrese otro valor: "))
  131.             div_entera = num // num2
  132.             print(f"Resultado de la división entera:", div_entera)
  133.         elif on_off == "0":
  134.             break
  135.         elif on_off != "1" and on_off != "0":
  136.             print("Valor incorrecto. Intente nuevamente")
  137.  
  138.  
  139. def exponenciacion():
  140.     while True:
  141.         on_off = input("Inicio exponenciación = 1 / Fin exponenciación = 0: ")
  142.         if on_off == "1":
  143.             lista_expo = []
  144.             limite = int(input("Ingrese valor límite de la lista: "))
  145.             for x in range(1, limite + 1):
  146.                 numero = float(input("Ingrese número: "))
  147.                 lista_expo.append(numero)
  148.             print("Resultado de la exponenciación:",
  149.                   reduce(operator.pow, lista_expo))
  150.         elif on_off == "0":
  151.             break
  152.         elif on_off != "1" and on_off != "0":
  153.             print("Valor incorrecto. Intente nuevamente")
  154.  
  155.  
  156. def modulo():
  157.     in_fin = int(input("Inicio módulo = 1 / Fin módulo = 0: "))
  158.     while in_fin != 0:
  159.         n1 = float(input("Ingrese número: "))
  160.         n2 = float(input("Ingrese otro número: "))
  161.         modu = n1 % n2
  162.         print("Resultado del módulo:", modu)
  163.         in_fin = int(input("Inicio = 1 / Fin = 0: "))
  164.  
  165.  
  166. menu_operaciones()
Advertisement
Add Comment
Please, Sign In to add comment