Novato - Problema con while
Publicado por Diego Parga (3 intervenciones) el 11/03/2018 22:14:02
Hola muy buenas, soy nuevo en Python y estor aprendiéndolo por mi cuenta, de momento todo me ha ido bien, pero hoy he tenido un problema. Estoy haciendo una calculadora que te pide la operación que deseas realizar además y después 2 números con los que quieras operar. La cuestión es que he puesto un while para que, en el caso de que el usuario no escriba una de las opciones deseadas, se siga un bucle hasta que inserte una de las 4 opciones contempladas con el programa.
La cuestión es que al poner cualquier tipo de palabra no contemplada, en vez de repetir el bucle, el programa omite el bucle y pasa a preguntarle al usuario por los dos números con los que operar. Cuando la operación que el usuario a elegido es "zanahoria", por poner un ejemplo, lo curioso, es que el programa realiza una multiplicación cuando escribo "zanahoria" xD.
Aquí va el código:
Muchas gracias de antemano :P
La cuestión es que al poner cualquier tipo de palabra no contemplada, en vez de repetir el bucle, el programa omite el bucle y pasa a preguntarle al usuario por los dos números con los que operar. Cuando la operación que el usuario a elegido es "zanahoria", por poner un ejemplo, lo curioso, es que el programa realiza una multiplicación cuando escribo "zanahoria" xD.
Aquí va el código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
repeticion = 1
operacion = 0
numero1 = 0
numero2 = 0
while repeticion > 0:
operacion = input("Que tipo de operacion deseas hacer: ( Suma / Resta / Multiplicacion / Division )").upper()
if operacion == "SUMA" or "RESTA" or "MULTIPLICACION" or "DIVISION":
repeticion -= 1
else:
print("No te he entendido")
numero1 = int(input("Di un numero: "))
numero2 = int(input("Di un segundo numero: "))
if operacion == "SUMA":
print("El resultado es", numero1 + numero2)
elif operacion == "RESTA":
print("El resultado es", numero1 - numero2)
elif operacion == "DIVISION":
print("El resultado es", numero1 / numero2)
print("El resto de la division es", numero1 % numero2)
else:
print("El resultado es", numero1 * numero2)
print("Calculo terminado")
Muchas gracias de antemano :P
Valora esta pregunta


0