[SOLUCIONADO] [Python] Ayuda Básica

Iniciado por Jimeno, Julio 06, 2012, 07:54:34 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Julio 06, 2012, 07:54:34 PM Ultima modificación: Marzo 06, 2014, 12:17:47 AM por Expermicid
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
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
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...
Contacto: @migueljimeno96 -

aqui encontre la solucion.

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



Saludos, espero que te sirva mi resuesta.

Julio 06, 2012, 11:15:28 PM #2 Ultima modificación: Marzo 06, 2014, 12:19:08 AM por Expermicid
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
solucion1 = raw_input ('Cuanto es 3+3 >> Responde aqui: ')


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


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



SaludOS!!

Julio 06, 2012, 11:30:43 PM #3 Ultima modificación: Marzo 06, 2014, 12:19:18 AM por Expermicid
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
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

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'.



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.
Contacto: @migueljimeno96 -