Buenas,
Tengo un problema con verificación en un if.
Código Python:
Ver original#Calculadora
def menu(operacion):
def sumar(a, b):
return a + b
def restar(a, b):
return a - b
def multi(a, b):
return a * b
def divi(a, b):
return a / b
if operacion == 'sumar':
return sumar
elif operacion == 'restar':
return restar
elif operacion == 'multi':
return multi
elif operacion == 'divi':
return divi
print '''/// Calculadora ///
/// Python ///'''
valor = str(raw_input('Introduce la operacion: '))
#Comprobamos si existe dicha opcion
if valor == 'sumar' or 'restar':
#Le damos el valor a menu
opcion = menu(valor)
# Comprobamos que los valores sean numeros
try:
num1 = float(raw_input('Primera cifra: '))
num2 = float(raw_input('Primera cifra: '))
except ValueError:
print 'Introduzca un numero.'
print 'El resultado es:', opcion(num1, num2)
else:
print 'El valor introducido no es correcto'
El problema se encuentra acá:
Al introducir en consola sumar o restar se ejecuta bien la función.
Pero si introduzco un número o letra mal no me salta al else
Código Python:
Ver originalelse:
print 'El valor introducido no es correcto'
Intento que si se introduce una letra mal o número me lance el else, pero no funciona.
Sin embargo hago el if sin el 'or' y funciona correctamente. ¿A qué puede deberse?
Agradezco cualquier sugerencia.
Gracias.
Saludos.