98 lines
3.4 KiB
Python
98 lines
3.4 KiB
Python
|
"""
|
||
|
Calculadora
|
||
|
|
||
|
Seudocódigo:
|
||
|
Aplicación interactiva, tenemos que escribir constantemente en la terminal.
|
||
|
Verificar si se ha ingresado un número
|
||
|
Si no hay número pedir el número y después pedir operación +-*/
|
||
|
Si ya hay un número pedir operación +-*/
|
||
|
Pedir otro número
|
||
|
Mostrar resultado y guardar como el primer número
|
||
|
|
||
|
"""
|
||
|
import time
|
||
|
# Bienvenida
|
||
|
print("\n############################")
|
||
|
print("Bienvenidos a la calculadora")
|
||
|
print("############################")
|
||
|
print("\nPara salir tan solo tienes que escribir (salir)")
|
||
|
|
||
|
# Pedir el primer número y opciones de operación
|
||
|
n1 = input("\nIngresa el primer número: ")
|
||
|
print(f"Vamos a operar con el {n1}")
|
||
|
print("\nLas operaciones que puedes realizar son:")
|
||
|
print("- Sumar --> (s)")
|
||
|
print("- Restar --> (r)")
|
||
|
print("- Multiplicar --> (m)")
|
||
|
print("- Dividir --> (d)\n")
|
||
|
|
||
|
|
||
|
# Inicio de bucle. Si no se pone "salir" seguirá dentro
|
||
|
comando = ""
|
||
|
while comando.lower() != "salir":
|
||
|
comando = input("$ ")
|
||
|
if comando != "salir":
|
||
|
op = comando
|
||
|
|
||
|
if op not in ("s", "r", "m", "d"):
|
||
|
print("\nDime un operador correcto")
|
||
|
continue
|
||
|
|
||
|
print(f"\nVamos a realizar la operación con el número {n1}")
|
||
|
n2 = input("Dime el segundo número: ")
|
||
|
|
||
|
# Conversor de str a int de los números
|
||
|
n2 = int(n2)
|
||
|
n1 = int(n1)
|
||
|
|
||
|
# Posibles operaciones
|
||
|
suma = n1 + n2
|
||
|
resta = n1 - n2
|
||
|
multi = n1 * n2
|
||
|
div = n1 / n2
|
||
|
|
||
|
# Condicional de las respuestas a las operaciones
|
||
|
if op == "s":
|
||
|
print(f"__________________________________________________")
|
||
|
print(f"\nEl resultado de la suma de {n1} y {n2} es {suma}")
|
||
|
print(f"__________________________________________________")
|
||
|
time.sleep(1.5)
|
||
|
print("\n Dime otro operador")
|
||
|
n1 = suma
|
||
|
elif op == "r":
|
||
|
print(f"__________________________________________________")
|
||
|
print(f"\nEl resultado de la resta de {n1} y {n2} es {resta}")
|
||
|
print(f"__________________________________________________")
|
||
|
time.sleep(1.5)
|
||
|
print("\n Dime otro operador")
|
||
|
n1 = resta
|
||
|
elif op == "m":
|
||
|
print(f"__________________________________________________")
|
||
|
print(f"\nEl resultado de la multiplicación entre {n1} por {n2} es {multi}")
|
||
|
print(f"__________________________________________________")
|
||
|
time.sleep(1.5)
|
||
|
print("\n Dime otro operador")
|
||
|
n1 = multi
|
||
|
elif op == "d":
|
||
|
print(f"__________________________________________________")
|
||
|
print(f"\nEl resultado de la división entre {n1} por {n2} es {div}")
|
||
|
print(f"__________________________________________________")
|
||
|
time.sleep(1.5)
|
||
|
print("\n Dime otro operador")
|
||
|
n1 = div
|
||
|
|
||
|
# Despedida de la opción "salir"
|
||
|
elif comando == "salir":
|
||
|
print("\nHasta pronto! ^_^")
|
||
|
break
|
||
|
# Error, si se pone un comando diferente a todo lo anterior
|
||
|
else:
|
||
|
print(f"\nQue me estás container?")
|
||
|
print("Estas son las opciones:")
|
||
|
print("- Sumar --> (s)")
|
||
|
print("- Restar --> (r)")
|
||
|
print("- Multiplicar --> (m)")
|
||
|
print("- Dividir --> (d)")
|
||
|
print("- Salir --> (salir)\n")
|
||
|
continue
|