Zona HTML Zona Java Zona PHP Zona ASP Zona Bases de datos
Inicio > Foros > General > Escribiendo un test en Python
-Foros de debate

General
Lista de foros | Lista de mensajes de este foro

Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.

Escribiendo un test en Python
Enviado por ZladMat el día 18 de junio de 2006

Hola. Estoy haciendo un test en Python (consta solo de dos preguntas :P) donde, a partir de unas preguntas de culturilla general, uno ha de respondor correctamente el máximo número de preguntas posible; finalmente el intérprete devuelve el número de respuestas correctas. Aquí pego el código:

[quote]

def quest():
n = raw_input('¿Cuál es el número atómico del mercurio? ')
aciertos = []
if n == '81':
print 'Respuesta correcta'
aciertos.append('ea')
elif n != '81':
print 'Respuesta incorrecta'
k = raw_input('¿Cuál es la capital de Italia? ')
if k == 'Roma':
print 'Respuesta correcta'
else:
print 'Respuesta incorrecta'
print 'Has acertado', len(aciertos),'/2', 'preguntas' [/quote]

Bien, hagamos una prueba:

[quote]quert():

¿Cuál es el número atómico del mercurio? 81
¿Cuál es la capital de Italia? Udine (nótese no he respondido correctamete)

Has acertado 2/2 preguntas [/quote]

...Y me dice que he respondido correctamente a las dos preguntas cuando solo he respondido la primera. En cambio si respondo mal la primera y bien la segunda SÍ me dice que he acertado 1/2.

¿Qué pasa?

 
Re: Escribiendo un test en Python
Enviado por hiei el día 18 de junio de 2006

Bueno... realmente no se decirte si haz identado mal (recordar que en Python es importante el indentado para separar bloques...) Es una lastima que este foro no tenga una buena presentacion de codigo (al menos que cambien el tipo de letra a un monospace como Courier o algo asi!!!) asi que intentare transcribir tu codigo como deberia quedar (NOTA los '-' son para simular espacios...):
#--------------------------------------------------------------------
def quest():
-----------n = raw_input('¿Cuál es el número atómico del mercurio? ')
-----------aciertos = []
----------------------if n == '81':
---------------------------------print 'Respuesta correcta'
---------------------------------aciertos.append('ea')
----------------------elif n != '81':
---------------------------------print 'Respuesta incorrecta'
----------------------k = raw_input('¿Cuál es la capital de Italia? ')
----------------------if k == 'Roma':
---------------------------------print 'Respuesta correcta'
----------------------else:
---------------------------------print 'Respuesta incorrecta'
----------------------print 'Has acertado', len(aciertos),'/2', 'preguntas'
#--------------------------------------------------------------------

Bueno... a mi me funciona... (tambien agrege aciertos.append('ea') en el segundo if y anda bien -02, 1/2-ambos casos- y 2/2)

Supongo que seria un problema con el identado (usa TABS en vez de espacios... es mas seguro, aparte, escribir el codigo en un archivo de texto separado y despues ejecutarlo es mejor que escribirlo sobre el mismo interprete...)

Sitio oficial de Python: http://www.python.org/

 
Re: Re: Escribiendo un test en Python
Enviado por hiei el día 18 de junio de 2006

Perdon... se me fueron un poco los espacios (deberia funcionar igual... pero por las dudas...)

def quest():
----------------------n = raw_input('¿Cuál es el número atómico del mercurio? ')
----------------------aciertos = []
----------------------if n == '81':
---------------------------------print 'Respuesta correcta'
---------------------------------aciertos.append('ea')
----------------------elif n != '81':
---------------------------------print 'Respuesta incorrecta'
----------------------k = raw_input('¿Cuál es la capital de Italia? ')
----------------------if k == 'Roma':
---------------------------------print 'Respuesta correcta'
----------------------else:
---------------------------------print 'Respuesta incorrecta'
----------------------print 'Has acertado', len(aciertos),'/2', 'preguntas'
#--------------------------------------------------------------------

 



Tienda
Patrocinados
 

Copyright © 1999-2006 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network