Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Sixtoex en 12 de Mayo 2024, 00:53

Título: Ejercicio calculadora especial python
Publicado por: Sixtoex en 12 de Mayo 2024, 00:53
Este ejercicio consiste en crear una calculadora simple en Python que permita al usuario realizar operaciones aritméticas básicas como suma, resta, multiplicación y división. El programa debe mostrar un menú inicial con instrucciones y solicitar al usuario que ingrese dos números y la operación que desea realizar. Una vez que se realiza la operación, el programa debe mostrar el resultado. Luego, el usuario puede continuar realizando más operaciones ingresando una nueva operación y un nuevo número, o puede salir del programa escribiendo 'salir'.

Explicación del enunciado:

Calculadora simple en Python: El objetivo principal es crear una calculadora básica utilizando Python.
Operaciones aritméticas básicas: La calculadora debe permitir realizar suma, resta, multiplicación y división.
Menú inicial con instrucciones: El programa debe mostrar un menú inicial con instrucciones sobre cómo utilizarlo.
Solicitar números y operación: El programa debe solicitar al usuario que ingrese dos números y la operación que desea realizar.
Mostrar resultado: Después de realizar la operación, el programa debe mostrar el resultado.
Continuar con más operaciones: El usuario debe poder continuar realizando más operaciones ingresando una nueva operación y un nuevo número.
Salir del programa: El usuario puede salir del programa escribiendo 'salir'.

aqui os dejo el codigo

Código: [Seleccionar]
# curso
print("bienvenido a la calculadora de aprendeprogramar")
print("para salir escribe salir")
print("las operaciones son suma,resta,division,multiplicacion")
ya_inicio = 0
ingrese_numero = 0
ingrese_operacion = "nada"
ingrese_otronumero = 0
suma = 0

for numero in range(10):
    if ingrese_operacion == "salir":
        break
    ingrese_numero = int(input("Ingrese numero: "))
    ingrese_operacion = input("Ingrese operacion: ")
    ingrese_otronumero = int(input("Ingrese el siguiente numero: "))
    if ingrese_operacion == "suma":
        suma = ingrese_numero + ingrese_otronumero
        print(f"La suma es: {suma}")
    elif ingrese_operacion == "resta":
        suma = abs(ingrese_numero - ingrese_otronumero)
        print(f"La resta es: {suma}")
    elif ingrese_operacion == "multiplicacion":
        suma = abs(ingrese_numero * ingrese_otronumero)
        print(f"La multiplicacion es: {suma}")
    elif ingrese_operacion == "division":
        suma = abs(ingrese_numero / ingrese_otronumero)
        print(f"La division es: {suma}")
    for otronumero in range(100):
        if ingrese_operacion == "suma" or ingrese_operacion == "resta" or ingrese_operacion == "multiplicacion" or ingrese_operacion == "division":
            ingrese_operacion = input("Ingrese operacion: ")
            if ingrese_operacion == "salir":
                break
            ingrese_otronumero = int(input("Ingrese el siguiente numero: "))
            if ingrese_operacion == "resta":
                suma = abs(ingrese_otronumero - suma)
                print(f"La resta es: {suma}")
            if ingrese_operacion == "suma":
                suma = abs(ingrese_otronumero + suma)
                print(f"La suma es: {suma}")
            if ingrese_operacion == "multiplicacion":
                suma = abs(ingrese_otronumero * suma)
                print(f"La multiplicacion es: {suma}")
            if ingrese_operacion == "division":
                suma = abs(suma / ingrese_otronumero)
                print(f"La division es: {suma}")
Título: Re: Ejercicio calculadora especial python
Publicado por: Kabuto en 12 de Mayo 2024, 14:34
Gracias por compartirlo.

Otra solución sería usando un bucle while que se repita hasta que el usuario indique que quiere salir.
Los bucles while son más cómodos en casos en los que NO sabemos exactamente cuántas veces se va a repetir algo. Los bucles for son más apropiados para los casos en que sabemos cuántas veces se ha de repetir su código.
Así no hay necesidad de "romper"(break) el bucle

Código: [Seleccionar]
print("bienvenido a la calculadora de aprendeprogramar")
print("las operaciones son suma,resta,division,multiplicacion\n")
num1 = 0
num2 = 0
operacion = "nada"
resultado = 0
salir = "no"

while salir != "si":
    num1 = int(input("Ingrese 1er numero: "))
    num2 = int(input("Ingrese 2do numero: "))
    operacion = input("Ingrese operacion: ")
    if operacion == "suma":
        resultado = num1 + num2
        print(f"La suma es: {resultado}")
    elif operacion == "resta":
        resultado = abs(num1 - num2)
        print(f"La resta es: {resultado}")
    elif operacion == "multiplicacion":
        resultado = abs(num1 * num2)
        print(f"La multiplicacion es: {resultado}")
    elif operacion == "division":
        resultado = abs(num1 / num2)
        print(f"La division es: {resultado}")
    else:
        print("Operacion no reconocida...")
    salir = input("\nDesear salir?(si/no): ").lower()

print("\n\t\tFIN DE PROGRAMA")
Título: Re: Ejercicio calculadora especial python
Publicado por: Sixtoex en 12 de Mayo 2024, 23:42
Gracias por compartirlo.

Otra solución sería usando un bucle while que se repita hasta que el usuario indique que quiere salir.
Los bucles while son más cómodos en casos en los que NO sabemos exactamente cuántas veces se va a repetir algo. Los bucles for son más apropiados para los casos en que sabemos cuántas veces se ha de repetir su código.
Así no hay necesidad de "romper"(break) el bucle

Código: [Seleccionar]
print("bienvenido a la calculadora de aprendeprogramar")
print("las operaciones son suma,resta,division,multiplicacion\n")
num1 = 0
num2 = 0
operacion = "nada"
resultado = 0
salir = "no"

while salir != "si":
    num1 = int(input("Ingrese 1er numero: "))
    num2 = int(input("Ingrese 2do numero: "))
    operacion = input("Ingrese operacion: ")
    if operacion == "suma":
        resultado = num1 + num2
        print(f"La suma es: {resultado}")
    elif operacion == "resta":
        resultado = abs(num1 - num2)
        print(f"La resta es: {resultado}")
    elif operacion == "multiplicacion":
        resultado = abs(num1 * num2)
        print(f"La multiplicacion es: {resultado}")
    elif operacion == "division":
        resultado = abs(num1 / num2)
        print(f"La division es: {resultado}")
    else:
        print("Operacion no reconocida...")
    salir = input("\nDesear salir?(si/no): ").lower()

print("\n\t\tFIN DE PROGRAMA")

lo hice con while, y si que es verdad que esta mejor adaptado para este ejercicio:

Código: [Seleccionar]
print("bienvenido a la calculadora de aprendeprogramar")
print("para salir escribe salir")
print("las operaciones son suma,resta,division,multiplicacion")
resultado = ""
op = ""
resultado2 = ""
while True:
    if not resultado:
        resultado = input("Escribe el primer numero: ")
    if resultado == "salir":
        break
    resultado = int(resultado)
    op = input("Escribe la operacion: ")
    if op == "salir":
        break
    n2 = input("Escribe el siguiente numero: ")
    if n2 == "salir":
        break
    n2 = int(n2)
    if op == "suma":
        resultado += n2
        print(f"el resultado es: {resultado}")
    elif op == "resta":
        resultado -= n2
        print(f"el resultado es: {resultado}")
    elif op == "divi":
        resultado /= n2
        print(f"el resultado es: {resultado}")
    elif op == "multi":
        resultado *= n2
        print(f"el resultado es: {resultado}")
    else:
        print("escribe una operacion valida")