Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Documentación: Módulo sys
- # https://uniwebsidad.com/libros/python/capitulo-10/modulos-de-sistema
- # Esta calculadora debe estar formada por 7 módulos o secciones
- import sys
- from functools import reduce
- import operator
- import functools
- print("\n========== MENÚ PRINCIPAL ==========\n")
- def menu_operaciones():
- print("===== Operaciones Aritméticas =====\n")
- op_aritmeticas = {
- "1": "Suma (+)",
- "2": "Resta (-)",
- "3": "Multiplicación (*)",
- "4": "División (/)",
- "5": "Exponenciación (**)",
- "6": "División Entera (//)",
- "7": "Módulo (%)",
- "8": "SALIR"
- }
- print("Operaciones aritméticas disponibles\n")
- for llave, valor in op_aritmeticas.items():
- print(llave, valor)
- print()
- on_off = input("Iniciar calculadora = 1 / Finalizar calculadora = 0: ")
- while on_off != 0:
- operador = input("Ingrese número de la operación a realizar: ")
- if operador == "1":
- sumar()
- elif operador == "2":
- restar()
- elif operador == "3":
- multiplicar()
- elif operador == "4":
- dividir()
- elif operador == "5":
- exponenciacion()
- elif operador == "6":
- division_entera()
- elif operador == "7":
- modulo()
- elif operador == "8":
- sys.exit()
- else:
- print("INGRESÓ UN VALOR NO VÁLIDO")
- def sumar():
- while True:
- on_off = input("Inicio suma = 1 / Fin suma = 0: ")
- if on_off == "1":
- lista_suma = []
- suma = 0
- limite = int(input("Ingrese el valor límite de la lista: "))
- for x in range(1, limite + 1):
- numero = float(input("Ingrese valor a sumar: "))
- lista_suma.append(numero)
- suma = suma + numero
- print(f"Elementos de la lista: {lista_suma}")
- print(f"Resultado de la suma: {suma}")
- break
- elif on_off == "0":
- break
- print("Valor incorrecto. Intente nuevamente")
- def restar():
- while True:
- on_off = input("Inicio resta = 1 / Fin resta = 0: ")
- if on_off == "1":
- lista_resta = []
- limite = int(input("Ingrese valor límite de la lista: "))
- for x in range(1, limite + 1):
- numero = float(input("Ingrese número: "))
- lista_resta.append(numero)
- print("Resultado de la resta:", reduce(operator.sub, lista_resta))
- print(f"Elementos de la lista: {lista_resta}")
- elif on_off == "0":
- break
- elif on_off != "1" and on_off != "0":
- print("Valor incorrecto. Intente nuevamente")
- def multiplicar():
- while True:
- on_off = input("Inicio multiplicación = 1 / Fin multiplicación = 0: ")
- if on_off == "1":
- lista_mul = []
- limite = int(input("Ingrese valor límite de la lista: "))
- for x in range(1, limite + 1):
- numero = float(input("Ingrese número: "))
- lista_mul.append(numero)
- print("Resultado de la multiplicación:",
- reduce(operator.mul, lista_mul))
- print(f"Elementos de la lista: {lista_mul}")
- elif on_off == "0":
- break
- elif on_off != "1" and on_off != "0":
- print("Valor incorrecto. Intente nuevamente")
- def dividir():
- while True:
- on_off = input("Inicio división = 1 / Fin división = 0: ")
- if on_off == "1":
- lista_div = []
- limite = int(input("Ingrese valor límite de la lista: "))
- for x in range(1, limite + 1):
- numero = float(input("Ingrese número: "))
- lista_div.append(numero)
- print("Resultado de la divisón:",
- reduce(operator.truediv, lista_div))
- print(f"Elementos de la lista: {lista_div}")
- elif on_off == "0":
- break
- elif on_off != "1" and on_off != "0":
- print("Valor incorrecto. Intente nuevamente")
- def division_entera():
- while True:
- on_off = input("Inicio división entera = 1 / Fin división entera = 0: ")
- if on_off == "1":
- num = float(input("Ingrese valor: "))
- num2 = float(input("Ingrese otro valor: "))
- div_entera = num // num2
- print(f"Resultado de la división entera:", div_entera)
- elif on_off == "0":
- break
- elif on_off != "1" and on_off != "0":
- print("Valor incorrecto. Intente nuevamente")
- def exponenciacion():
- while True:
- on_off = input("Inicio exponenciación = 1 / Fin exponenciación = 0: ")
- if on_off == "1":
- lista_expo = []
- limite = int(input("Ingrese valor límite de la lista: "))
- for x in range(1, limite + 1):
- numero = float(input("Ingrese número: "))
- lista_expo.append(numero)
- print("Resultado de la exponenciación:",
- reduce(operator.pow, lista_expo))
- elif on_off == "0":
- break
- elif on_off != "1" and on_off != "0":
- print("Valor incorrecto. Intente nuevamente")
- def modulo():
- in_fin = int(input("Inicio módulo = 1 / Fin módulo = 0: "))
- while in_fin != 0:
- n1 = float(input("Ingrese número: "))
- n2 = float(input("Ingrese otro número: "))
- modu = n1 % n2
- print("Resultado del módulo:", modu)
- in_fin = int(input("Inicio = 1 / Fin = 0: "))
- menu_operaciones()
Advertisement
Add Comment
Please, Sign In to add comment