Hola señores quieria saber donde falla mi codigo.
opcion = 0
while opcion != 1 or opcion != 2:
opcion = int(raw_input(" Introduzca opcion"))
Lo que sucede es que se me queda en el while y no sale.
No es 'or', es 'and'. Siempre va a ser diferente de 1 o de 2.
¿Pero con el and no estoy obligando a que se cumplan ambas condiciones para salir del bucle? Necesito que cuando se cumpla una de las dos salga.
while opcion != 1 or opcion != 2:
sería: mientras opcion sea diferente a 1 o opcion sea diferente a 2 ejecuta
el resultado es que cualquier numero va a ser diferente a 1 o a 2.
while opcion != 1 and opcion != 2:
sería: mientras opcion sea diferente a 1 y opcion sea diferente a 2 ejecuta
el resultado es que cuando el numero sea 1 o 2 terminara el bucle.
Espero que se entienda.
veo dos cosas que no haría, lo realizaría así:
opcion= int(input("Introduzca opcion: ") )
while not (opcion == 1 or opcion == 2):
opcion = int(input("Introduzca opcion: "))
o sea 1)opción no tiene valor hasta que el usuario se lo da
2) while se repite hasta que devuelve false, por eso en este caso uso while not opcion1 or opcion 2
edito: tercer error: va en el foro de script/python (no todos lo verán en cualquier lado, lo ví de casualidad)