Foros del Web » Programando para Internet » Python »

¿Diferencia entre while not y while !=?

Estas en el tema de ¿Diferencia entre while not y while !=? en el foro de Python en Foros del Web. Hola! Igual es un error de concepto. Pero pensaba que: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Python: Ver original while not ( a == 2 ) : era ...
  #1 (permalink)  
Antiguo 04/06/2014, 11:30
 
Fecha de Ingreso: diciembre-2009
Ubicación: Spain
Mensajes: 180
Antigüedad: 14 años, 11 meses
Puntos: 9
¿Diferencia entre while not y while !=?

Hola!

Igual es un error de concepto. Pero pensaba que:

Código Python:
Ver original
  1. while not (a == 2):

era igual a decir:

Código Python:
Ver original
  1. while (a != 2):

Tengo este código:

Código Python:
Ver original
  1. pregunta = input('uno o dos ')
  2. while not (pregunta == 'uno' or pregunta == 'dos'):
  3.     pregunta = input('uno o dos ')
  4. print('ok')

Osea, mientras la respuesta que demos no sea 'uno' o 'dos' nos sigue preguntando. Pero si modifico el código de esta manera:

Código Python:
Ver original
  1. pregunta = input('uno o dos ')
  2. while  (pregunta != 'uno' or pregunta != 'dos'):
  3.     pregunta = input('uno o dos ')
  4. print('ok')

me sigue preguntando pongamos lo que pongamos. Cosa que no entiendo. Por que si ponemos el signo != y escribimos como respuesta 'uno' o 'dos' nos pregunta de nuevo. Y no debería ser así, ya que no son distintos.
  #2 (permalink)  
Antiguo 04/06/2014, 11:39
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: ¿Diferencia entre while not y while !=?

Leyes de De Morgan chavo.

Esto
Código Python:
Ver original
  1. while not (pregunta == 'uno' or pregunta == 'dos'):

Aplicando leyes de demorgan es equivalente a esto
Código Python:
Ver original
  1. while (pregunta != 'uno') and (pregunta != 'dos'):

Realmente no tiene que ver con python si no como piensas.
  #3 (permalink)  
Antiguo 04/06/2014, 12:24
 
Fecha de Ingreso: diciembre-2009
Ubicación: Spain
Mensajes: 180
Antigüedad: 14 años, 11 meses
Puntos: 9
Respuesta: ¿Diferencia entre while not y while !=?

Muchas gracias! No lo habría adivinado nunca. Y mira que le estuve dando vueltas. Pense...¡Vaya, ya le he encontrado un fallo a Python!

Fuera bromas...lo que puede cambiar una simple palabra u operador lógico en un programa.

Saludos!

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:21.