Para crear una calculadora en Python primero se debe tener claro los conceptos básicos de sintaxis, sentencias y funciones explicados en la sección Tutoriales. Una vez entendidos podemos comenzar.
En esta guía práctica vamos a desarrollar nuestra primer calculadora básica. ¿Cómo lo haremos? Primero definiremos las funciones que queremos que haga:
Mostrar un menú con las opciones que puede ingresar el usuario:
Importante: El resultado de las operaciones será guardado en una variable “resultado” y mostrado por pantalla. Si se vuelve a elegir la opción 1, se comenzará una nueva operación y se borrará el valor de la variable “resultado”, si se elige la opción 2 se guardará.
Primero comenzaremos creando las variables que vayamos a usar y luego el texto del menú que se imprimirá por pantalla en una función menu(), la cual no recibe parámetros.
#La siguiente función se encarga únicamente de imprimir el texto del menú.
def menu():
menu_mensaje = '''\\n
Inserte 1 para realizar una nueva operación.\\n
Inserte 2 para realizar una operación sobre su resultado.\\n
Inserte 0 para terminar la ejecución del programa.'''
print(menu_mensaje)
#Inicio del programa
resultado = 0
menu()
Bien, ¿Y ahora qué?
Necesitamos que el menú sea interactivo y le permita al usuario elegir la opción que desee. Para esto podemos crear una nueva variable “opcion” que tiene como valor inicial “1” y un bucle while justo luego de la variable “resultado”. La única manera de salir del bucle sería si el usuario eligiera la opción 0.
#Este bucle se va a repetir siempre y cuando el ususario no inserte 0 como opción.
while opcion != 0:
opcion = int(input("\\nOpción: "))
Esté código no hará más que pedirle al usuario que ingrese números enteros hasta que “opcion” sea 0, necesitamos usar una sentencia match case que llame a 2 funciones distintas dependiendo de si el usuario ingresa 1 o 2.
while opcion != 0:
menu()
opcion = int(input("\\nOpción: "))
match opcion:
case 1:
#Aquí se llamaría a la función que inicia una nueva operación
pass
case 2:
#Aquí se llamaría a la función que opera con el resultado anterior.
pass
Una vez agregado esto, nuestro código debería verse así: