En la lección de hoy, vamos a ver el código para programar nuestra primera calculadora sencilla en Python.
Esta calculadora sencilla escrita en código Python, nos va a permitir realizar las 3 tareas más básicas de las matemáticas: sumar, restar o multiplicar; para dos números cualquiera recibidos como input por parte del usuario.
n1 = float(input("Introduce tu primer número: ") )
n2 = float(input("Introduce tu segundo número: ") )
opcion = 0
while True:
print("""
Dime, ¿qué quieres hacer?
1) Sumar los dos números
2) Restar los dos números
3) Multiplicar los dos números
4) Cambiar los números elegidos
5) Apagar calculadora
""")
opcion = int(input("Elige una opción: ") )
if opcion == 1:
print(" ")
print("RESULTADO: La suma de",n1,"+",n2,"es igual a",n1+n2)
elif opcion == 2:
print(" ")
print("RESULTADO: La resta de",n1,"-",n2,"es igual a",n1-n2)
elif opcion == 3:
print(" ")
print("RESULTADO: El producto de",n1,"*",n2,"es igual a",n1*n2)
elif opcion == 4:
n1 = float(input("Introduce tu primer número: ") )
n2 = float(input("Introduce tu segundo número: ") )
elif opcion == 5:
break
else:
print("Opción incorrecta")
Y de esta forma tendríamos creada nuestra calculadora en Python, con una pequeña interfaz que nos permite elegir mediante un menú la operación que queremos realizar (suma, resta, multiplicación).
Oscar Andres dice
Buenas, antes que nada, me sirvió mucho lo que acabo de encontrar.
Bueno quisiera saber que hay que utilizar para tener libre opción de la cantidad de números con los que quiero operar.
Javier dice
Hola! Modifica la fórmula de forma que n1, n2, n3… aumente tanto como quieras. Saludos!
Juan dice
Hola estoy aprendiendo a usar python y tengo la duda de que si se aumenta la forma n1, n2, n3 hasta n6 que pasaría si el usuario quiere solo usar n1 y n2?
anonimo dice
aumentale if osea una condicion
Julio R dice
Hola, cómo puedo crear calculadora en python a nivel de lineas de comandos, donde puedas realizar las operaciones basicas (suma, resta, multiplicaciones, divicion) usando bucle, variables y funciones y que
la calculadora no termine de realizar operaciones hasta que presionemos la tecla escape.
Y que contenga un menu donde elijamos la operacion que queremos realizar
Al terminar una operacion que vuelva al menu de operaciones
solo desde el menu podemos salir de la calculadora
La calculadora debe permitir realizar operaciones con decimales.
jijija dice
xd
El Pepe dice
eso tilin, vamos todos los potaxies
Anónimo dice
Bno es buena pregunta crack
cesar dice
Si se aumenta la cantidad de variables para incluir n1, n2, n3, n4, n5 y n6, pero el usuario solo quiere ingresar valores para n1 y n2, entonces simplemente tendría que ignorar los valores de las otras variables.
El código que se muestra en la pregunta:
“`
n1 = float(input(“Introduce tu primer número: “) )
n2 = float(input(“Introduce tu segundo número: “) )
n3 = float(input(“Introduce tu tercer número: “) )
n4 = float(input(“Introduce tu cuarto número: “) )
n5 = float(input(“Introduce tu quinto número: “) )
n6 = float(input(“Introduce tu sexto número: “) )
“`
Podría ser modificado para incluir más variables, pero si el usuario solo quiere ingresar valores para n1 y n2, podría simplemente ignorar los valores de n3, n4, n5 y n6. Por ejemplo:
“`
n1 = float(input(“Introduce tu primer número: “) )
n2 = float(input(“Introduce tu segundo número: “) )
n3 = 0
n4 = 0
n5 = 0
n6 = 0
“`
De esta manera, si el usuario solo ingresa valores para n1 y n2, los valores de n3 a n6 serán cero y no afectarán la operación matemática que se realice con n1 y n2.
Es importante tener en cuenta que si se agregan más variables, también se deben modificar las operaciones matemáticas correspondientes para incluir las variables adicionales, de lo contrario se obtendrán errores en el código.
Anónimo dice
el n1 o n2 es una variable. no es una cantidad ni nada
Matias dice
Hola! Para hacer esto, podes hacer uso de los *args en las funciones. Los *args te permiten poner cualquier cantidad de datos en la funcion que vos necesites. Si necesitas mas ayuda, podes revisar la documentacion de Python o algun canal de YT.
Anónimo dice
Si deseas tener la libertad de operar con cualquier cantidad de números en tu calculadora, puedes utilizar listas en lugar de variables individuales. Las listas te permiten almacenar cualquier cantidad de valores en una sola estructura de datos.
En lugar de pedirle al usuario que ingrese valores para n1, n2, n3, etc., puedes pedirle que ingrese una lista de valores. Por ejemplo:
“`
numeros = input(“Ingrese los números separados por comas: “).split(“,”)
numeros = [float(num) for num in numeros]
“`
En este ejemplo, se le solicita al usuario que ingrese los números separados por comas, lo que genera una cadena de texto. Luego, se utiliza el método split() para dividir la cadena en una lista de valores separados por comas. Finalmente, se convierte cada valor de la lista en un número flotante utilizando una comprensión de lista.
Una vez que tienes la lista de números, puedes realizar operaciones matemáticas en ella utilizando ciclos for o funciones de lista predefinidas como sum() o product().
Por ejemplo, si quisieras sumar todos los números de la lista, podrías hacerlo de la siguiente manera:
“`
resultado = sum(numeros)
print(“La suma es:”, resultado)
“`
De esta manera, puedes operar con cualquier cantidad de números que el usuario ingrese sin tener que crear variables individuales para cada uno.
Juan Gil dice
todavía hay que imprimir n1 y n2 para que pueda seguir el programa
Javier dice
Hola! He modificado un poco el código para contemplar la opción de cambiar los números con los que quieres operar. Gracias por comentar!
Anónimo dice
En el código que se muestra en la pregunta, no es necesario imprimir n1 y n2 para que el programa siga funcionando correctamente. Después de que el usuario ingrese los valores para n1 y n2, el programa realiza una serie de operaciones matemáticas basadas en las opciones que el usuario elija.
Si se desea imprimir los valores de n1 y n2 después de que el usuario los ingrese, se puede agregar una línea adicional de código para hacerlo. Por ejemplo:
“`
n1 = float(input(“Introduce tu primer número: “) )
n2 = float(input(“Introduce tu segundo número: “) )
print(“Los números que ingresaste son:”, n1, “y”, n2)
“`
De esta manera, después de que el usuario ingrese los valores para n1 y n2, se imprimirá un mensaje que indique los valores que ingresó.
Sin embargo, esto no es necesario para que el programa funcione correctamente. Es una buena práctica agregar mensajes y comentarios que ayuden a los usuarios a entender cómo funciona el programa y cómo ingresar los datos correctamente.
Javier dice
Acabo de probar y funciona perfectamente, si no me das más detalles no puedo ayudarte. Saludos!
Carlos dice
Código sirve perfectamente. Le hice algunas modificaciones.
import os
def borrarPantalla(): #Definimos la función estableciendo el nombre que queramos
if os.name == “posix”:
os.system (“clear”)
elif os.name == “ce” or os.name == “nt” or os.name == “dos”:
os.system (“cls”)
borrarPantalla()
#función suma
def Suma(a,b):
return a+b
#función resta:
def Resta(a,b):
return a-b
#función multiplicar
def Multiplicacion(a,b):
return a*b
#función division
def Division(a,b):
return a/b
opcion = 0
while True:
print(“CALCULADORA”)
print(“———–“)
print(“”)
print(“1.- Suma”)
print(“2.- Resta”)
print(“3.- Multiplicación”)
print(“4.- División”)
print(“5.- Salir”)
opcion = int(input(‘Seleccione la operación: ‘))
if opcion == 1:
borrarPantalla()
print(‘Operación Sumar’)
print(‘—————‘)
print(”)
valor1 = float(input(‘Ingrese el primer valor : ‘))
valor2 = float(input(‘Ingrese el segundo valor: ‘))
print(”)
print(‘La suma es: ‘,Suma(valor1,valor2))
elif opcion == 2:
borrarPantalla()
print(‘Operación Restar’)
print(‘—————‘)
print(”)
valor1 = float(input(‘Ingrese el primer valor : ‘))
valor2 = float(input(‘Ingrese el segundo valor: ‘))
print(”)
print(‘La Resta es: ‘,Resta(valor1,valor2))
elif opcion == 3:
borrarPantalla()
print(‘Operación Multiplicar’)
print(‘—————‘)
print(”)
valor1 = float(input(‘Ingrese el primer valor : ‘))
valor2 = float(input(‘Ingrese el segundo valor: ‘))
print(”)
print(‘La multiplicacón es: ‘,Multiplicacion(valor1,valor2))
elif opcion == 4:
borrarPantalla()
print(‘Operación División’)
print(‘—————‘)
print(”)
valor1 = float(input(‘Ingrese el primer valor : ‘))
valor2 = float(input(‘Ingrese el segundo valor: ‘))
print(”)
print(‘La división es: ‘,Division(valor1,valor2))
elif opcion == 5:
break
else:
borrarPantalla()
print(‘Opción incorrecta’)
FX_Admin dice
en realidad si funciona, pero en SUBLIME TEXT, cuándo presiono CTRL + B para ejecutar el programa en PYTHON abajo cuando quiero ingresar mi NÚMERO 1 y el NÚMERO 2, no me deja. quisiera una pronta SOLUCIÓN para ver Cómo poder Ejecutarlo.
Javier dice
Tal vez el problema es que no tienes instalado un IDE en Sublime Text, por eso no te funcionan los inputs! Saludos!
Therry01D dice
vete a la opcion de tools, sublimeREPL, Python, Python – RUN current file y ya con eso lo vas a poder abrir e interactuar con el, espero y te sirva
Carlos dice
Utiliza la línea de comandos para ejecutar el script.
En windows sería algo así: python nombre_script.py
En Linux algo así: python3 nombrescript.py
Saludos
ALEXIS # 77 dice
Debes instalar la librería de Sublime repelt, o simplemente puedes instalar visual studio code, en lo personal te lo recomiendo mucho ya que te proporciona opciones de código y es mas facil compilar.
Saludos desde Colombia.
No te frustres, con el tiempo se te dará más fácil.
Y recuerda…
Si puedes imaginarlo puedes programarlo..
diego dice
instala sublimeREPL
es una libreria de sublime
Anónimo dice
El código que has compartido parece estar bien escrito y es similar al código que se ha compartido anteriormente. De hecho, es una versión idéntica del código anterior, con la única diferencia de que se han utilizado comillas diferentes para las cadenas de texto en algunos lugares.
En lugar de utilizar comillas dobles (“), se han utilizado comillas especiales («») en algunos lugares, lo que puede generar un error de sintaxis en Python. Para asegurarte de que el código sea válido, es recomendable utilizar siempre comillas dobles o simples para las cadenas de texto.
En general, el código parece estar bien escrito y funciona correctamente. Las funciones para cada operación matemática son claras y fáciles de entender, y el uso de la función borrarPantalla() para limpiar la pantalla después de cada operación ayuda a mejorar la legibilidad del programa. ¡Buen trabajo!
Luciana dice
Me podría indicar cómo hacer un menu que nos de la opciones de hacer. Suma,resta,multiplicación,división,potencia,raíz cuadrada y que ejecute la operación de solicitar datos , realizar operación, mostrar resultado
Matias dice
Hola Luciana, yo lo suelo hacer asi, quizas te sirva!
usuario = None
while usuario != ‘salir’:
usuario = input(”’
¿Que deseas hacer?
1. Sumar
2. Restar
3. Multiplicar
4. Dividir
5. Potencia
”’)
if usuario == “1”:
sumar()
if usuario == “2”:
restar()
if usuario == “3”:
multiplicar()
if usuario == “4”:
dividir()
if usuario == “5”:
potencia()
if usuario == ‘salir’:
print(‘El programa se cerrara.’)
Anónimo dice
Hola, ¿cómo podría programar en Python, lo siguiente? Mil gracias de antemano…
1.- Una calculadora, con un menú que tenga las siguientes opciones de operación:
Suma, resta, multiplicación, división, raíz cuadrada y potenciación.
2.- Cada operación debe pedir al usuario los números con los cuales operar.
3.- Una vez dado el resultado, debe preguntársele al usuario si quiere realizar otra operación.
4.- En caso de que si quiera otra operación, se debe volver a desplegar el menú.
5.- Su programa no debe tronar si el usuario manda valores indeseados o realiza operaciones inválidas.
¡Gracias de antemano! Buen fin de semana.
Anónimo dice
Añada un bucle infinito (while True: ) al incio del programa
Anónimo dice
como validas para que no salga error sino introducen un valor float?
Blas Cortés Ayus dice
Buenos días, he revisado el código y me parece un poco incompleto, así que me di la tarea de agregarle otras operaciones y el resultado es este:
print(” “)
print(“*********************************”)
print(“*Calculadora Sencilla en Python**”)
print(“*Código elaborado por @bcortes20*”)
print(“*********************************\n”)
n1 = int(input(“Introduce el primer número: “))
n2 = int(input(“Introduce el segundo número: “))
opcion = 0
while True:
print(“””
¿Qué deseas hacer?
1) Sumar
2) Restar
3) Multiplicar
4) Exponencial
5) Dividir
6) División entera
7) Módulo o residuo
8) Cambiar los números elegidos
9) Apagar calculadora
“””)
opcion = int(input(“Elige una opción: “))
if opcion == 1:
print(” “)
resultado = int(n1+n2)
print(“El resultado de la suma es: “, (resultado))
elif opcion == 2:
print(” “)
resultado = int(n1-n2)
print(“El resultado de la resta es: “, (resultado))
elif opcion == 3:
print(” “)
resultado = int(n1*n2)
print(“El resultado de la multiplicación es: “, (resultado))
elif opcion == 4:
print(” “)
resultado = int(n1**n2)
print(“El resultado exponencial es: “, (resultado))
elif opcion == 5:
print(” “)
resultado = float(n1/n2)
print(“El resultado de la división es: “, round(resultado, 2))
elif opcion == 6:
print(” “)
resultado = int(n1//n2)
print(“El resultado de la división entera es: “, (resultado))
elif opcion == 7:
print(” “)
resultado = int(n1%n2)
print(“El resultado del módulo o residuo es: “, (resultado))
elif opcion == 8:
n1 = int(input(” \nIntroduce el primer número: “))
n2 = int(input(“Introduce el segundo número: “))
elif opcion == 9:
print(“\nFin.”)
break
else:
print(” \nOpción incorrecta”)
Espero haber aportado un poco más al código hecho por Javier.
sebastian dice
n1 = float(input(“Introduce tu primer número: “) )
n2 = float(input(“Introduce tu segundo número: “) )
opcion = 0
while True:
print(“””
Dime, ¿qué quieres hacer?
1) Sumar los dos números
2) Restar los dos números
3) Multiplicar los dos números
4) Divicion de los dos números
5) Cambiar los numeros elegidos
6) Apagar calculadora
“””)
opcion = int(input(“Elige una opción: “) )
if opcion == 1:
print(” “)
print(“RESULTADO: La suma de”,n1,”+”,n2,”es igual a”,n1+n2)
elif opcion == 2:
print(” “)
print(“RESULTADO: La resta de”,n1,”-“,n2,”es igual a”,n1-n2)
elif opcion == 3:
print(” “)
print(“RESULTADO: El producto de”,n1,”*”,n2,”es igual a”,n1*n2)
elif opcion == 4:
print(“”)
print(“Resultado: La divicion de”,n1,”/”,n2,” es igual a”, n1/n2)
elif opcion == 5:
n1 = float(input(“Introduce tu primer número: “) )
n2 = float(input(“Introduce tu segundo número: “) )
else: opcion == 6: break
print(“Opción incorrecta”)
Quiero que se sierre la calculadora pero me aparece error
andrea dice
como puedo hacer una calculadora en Python con suma, reta multiplicación, división, potencia sin usar los operadores de suma , reta, multiplicación, división, potencia.