Underc0de

Foros Generales => Dudas y pedidos generales => Mensaje iniciado por: Jimeno en Julio 06, 2012, 07:54:34 PM

Título: [SOLUCIONADO] [Python] Ayuda Básica
Publicado por: Jimeno en Julio 06, 2012, 07:54:34 PM
Buenas, ante todo pido disculpas si el post no está donde debe. La petición de ayuda es que estoy haciendo una especie de juego (no del todo es un juego) para manejarme con python, y estoy en un apartado donde hay que responder a una pregunta y dependiendo de la respuesta sale correcto o incorrecto, he llegado a este código, con ERROR.
     -Error en el que la respuesta siempre es positiva:
Código (python) [Seleccionar]
solucion1 = raw_input ('Cuanto es 3+3 >> Responde aqui: ')
print 'Tu solucion es: '
print solucion1
if solucion1 != 6 :
   print 'CORRECTO'
else:
   print 'Has fallado, Zopenco'

     
     -Error en el que la respuesta siempre es negativa:
Código (python) [Seleccionar]
solucion1 = raw_input ('Cuanto es 3+3 >> Responde aqui: ')
print 'Tu solucion es: '
print solucion1
if solucion1 == 6 :
   print 'CORRECTO'
else:
   print 'Has fallado, Zopenco'


Por esto, pido ayuda para escribir el código en el que dependiendo de la respuesta salga correcto o el mensaje de incorrecto.
Gracias por leer y responder. Saludos a la comunidad.
PD: Lo de 'Cuanto es 3+3' es una pregunta base que he hecho para probar...
Título: Re:[Python] Ayuda Básica.
Publicado por: Expermicid en Julio 06, 2012, 10:41:45 PM
aqui encontre la solucion.

Cuando compares no lo hagas con un numero sino con '6'.

(http://i.imgur.com/vjx3v.gif)

Saludos, espero que te sirva mi resuesta.
Título: Re:[Python] Ayuda Básica.
Publicado por: [Z]tuX en Julio 06, 2012, 11:15:28 PM
Si, lo que pasa es que raw_input() lee una variable como cadena de texto, con un input() puedes leer solo numeros....
En tu code...

En vez de usar:
Código (python) [Seleccionar]
solucion1 = raw_input ('Cuanto es 3+3 >> Responde aqui: ')

Usas;
Código (python) [Seleccionar]
solucion1 = input ('Cuanto es 3+3 >> Responde aqui: ')

Y ahora si es posible usar:
Código (python) [Seleccionar]
if solucion1 != 6 :
   print 'CORRECTO'
else:
   print 'Has fallado, Zopenco'



SaludOS!!
Título: Re:[Python] Ayuda Básica.
Publicado por: darkchoto en Julio 06, 2012, 11:30:43 PM
Bueno bro yo todavia soy novato en python pero hasta donde se creo que puedo ayudarte.
Tu problema ocurre porque lo que le pasas a la funcion raw_input() se toma como string,asi que en tu codigo la variable soluncion1 queda como una string, entonces si comparas una variable string con un entero te va a dar error.
Ahora la solucion para esto es utilizar la funcion int() por fuera de la funcion raw_input() para que lo que le pases lo convierta a entero.
ejemplo:

Código (python) [Seleccionar]
solucion1 = int(raw_input ('Cuanto es 3+3 >> Responde aqui: '))
print 'Tu solucion es: '
print solucion1
if solucion1 != 6 :
   print 'CORRECTO'
else:
   print 'Has fallado, Zopenco'


segun yo eso coregiria tu codigo
Título: Re:[Python] Ayuda Básica.
Publicado por: Jimeno en Julio 07, 2012, 06:31:34 AM
Muchísimas gracias Expermicid de veras, no puedes imaginarte la frustración a la que había llegado.... Lo de ponerme un .gif para que lo entendiese mejor me ha gustado y ayudado. GRACIAS.
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
aqui encontre la solucion.

Cuando compares no lo hagas con un numero sino con '6'.

(http://i.imgur.com/vjx3v.gif)

Saludos, espero que te sirva mi resuesta.

También agradezco a los otros usuarios que han leído o respondido el tema por el interés.
Tema resuelto, pueden cerrarlo Admins.