Foros del Web » Programando para Internet » Python »

while, while, while

Estas en el tema de while, while, while en el foro de Python en Foros del Web. Hola de nuevo, he acabado mi primer programa en python pero hay un punto en el que no sé cómo hacerlo, es un programa que ...
  #1 (permalink)  
Antiguo 25/11/2012, 16:15
 
Fecha de Ingreso: noviembre-2012
Ubicación: la superficie
Mensajes: 12
Antigüedad: 12 años
Puntos: 1
Pregunta while, while, while

Hola de nuevo,
he acabado mi primer programa en python pero hay un punto en el que no sé cómo hacerlo, es un programa que hace preguntas y dependiendo de lo que contestes te responde una u otra cosa. Las respuestas también dependen de si el usuario es hombre o mujer, con lo cual es importante que esa pregunta esté correctamente contestada, lo que quiero es hacer que hasta que no se responda con "hombre"o con "mujer"se repita la pregunta, he probado poniendo while en distintos sitios, de distintas formas pero lo que conseguí fue que la pregunta se repitiera infinitamente contestaras lo que contestaras.

gen = raw_input ("sexo?")
if gen == "mujer":
print "fxxxxx"
elif gen == "hombre":
print"fxxxxxx"
Muchas gracias
  #2 (permalink)  
Antiguo 26/11/2012, 06:00
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: while, while, while

Código Python:
Ver original
  1. gen = None
  2. while gen not in ("Mujer", "Hombre"):
  3.     gen = raw_input("sexo?")

la condición del while se puede cambiar por la forma equivalente
Código Python:
Ver original
  1. gen != "mujer" and gen != "hombre"

Si necesitas comparación sin importar mayúsculas o minúsculas, lo más sencillo es convertir la entrada:
Código Python:
Ver original
  1. gen.lower() not in ("mujer", "hombre")


Saludos.
  #3 (permalink)  
Antiguo 26/11/2012, 09:39
 
Fecha de Ingreso: noviembre-2012
Ubicación: la superficie
Mensajes: 12
Antigüedad: 12 años
Puntos: 1
Respuesta: while, while, while

Muchas gracias, parece funcionar

Etiquetas: import, programa
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 06:21.