elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Python (Moderador: Danielㅤ)
| | |-+  [Python] Verificar variables con if (Solucionado)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Python] Verificar variables con if (Solucionado)  (Leído 2,077 veces)
DeMoNcRaZy


Desconectado Desconectado

Mensajes: 420


$~*|_


Ver Perfil
[Python] Verificar variables con if (Solucionado)
« en: 19 Agosto 2015, 18:35 pm »

Buenas,

Tengo un problema con verificación en un if.

Código
  1. #Calculadora
  2. def menu(operacion):
  3.  
  4. def sumar(a, b):
  5. return a + b
  6.  
  7. def restar(a, b):
  8. return a - b
  9.  
  10. def multi(a, b):
  11. return a * b
  12.  
  13. def divi(a, b):
  14. return a / b
  15.  
  16. if operacion == 'sumar':
  17. return sumar
  18. elif operacion == 'restar':
  19. return restar
  20. elif operacion == 'multi':
  21. return multi
  22. elif operacion == 'divi':
  23. return divi
  24.  
  25. print '''/// Calculadora ///
  26. /// Python ///'''
  27.  
  28. valor = str(raw_input('Introduce la operacion: '))
  29. #Comprobamos si existe dicha opcion
  30. if valor == 'sumar' or 'restar':
  31. #Le damos el valor a menu
  32.    opcion = menu(valor)
  33.    # Comprobamos que los valores sean numeros
  34.    try:
  35.    num1 = float(raw_input('Primera cifra: '))
  36.    num2 = float(raw_input('Primera cifra: '))
  37.    except ValueError:
  38.    print 'Introduzca un numero.'
  39.  
  40.    print 'El resultado es:', opcion(num1, num2)
  41. else:
  42. print 'El valor introducido no es correcto'

El problema se encuentra acá:

Código
  1. if valor == 'sumar' or 'restar':

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
  1. else:
  2. 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.


« Última modificación: 19 Agosto 2015, 18:48 pm por YuseTist » En línea

Esta página web no está disponible - Google Chrome
engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: [Python] Verificar variables con if
« Respuesta #1 en: 19 Agosto 2015, 18:41 pm »

esto está mal

Código:
if valor == 'sumar' or 'restar':

estás diciendo "continua si valor es igual a  'sumar', o si 'restar' es verdadero" (sabemos que es verdadero todo aquello que no sea false, 0 o una cadena vacía)

debe ser completo
Código:
if valor == 'sumar' or valor == 'restar':


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
DeMoNcRaZy


Desconectado Desconectado

Mensajes: 420


$~*|_


Ver Perfil
Re: [Python] Verificar variables con if
« Respuesta #2 en: 19 Agosto 2015, 18:48 pm »

esto está mal

Código:
if valor == 'sumar' or 'restar':

estás diciendo "continua si valor es igual a  'sumar', o si 'restar' es verdadero" (sabemos que es verdadero todo aquello que no sea false, 0 o una cadena vacía)

debe ser completo
Código:
if valor == 'sumar' or valor == 'restar':

Gracias, al parecer ha sido un error tonto.
Disculpen las molestias.

Saludos.

TEMA SOLUCIONADO
En línea

Esta página web no está disponible - Google Chrome
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Python]Crear variables.....
Python
Jirp96 3 7,543 Último mensaje 27 Mayo 2011, 01:29 am
por Novlucker
Verificar argumentos de función[Python]
Scripting
S3kh 3 3,640 Último mensaje 20 Septiembre 2011, 02:26 am
por Novlucker
Verificar si dos tuplas contienen los mismos valores [python]
Programación General
bichotg 5 4,995 Último mensaje 23 Febrero 2012, 18:38 pm
por WaAYa HaCK
[PYTHON] Verificar integridad de un mensaje
Python
Josholsan 4 4,929 Último mensaje 24 Octubre 2014, 01:47 am
por Josholsan
Verificar colores,nombre en listas (Python)
Scripting
SlayerBur 4 4,694 Último mensaje 20 Junio 2021, 06:33 am
por WHK
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines