Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/05/2011, 18:12
maxtrata
 
Fecha de Ingreso: mayo-2011
Mensajes: 6
Antigüedad: 13 años
Puntos: 1
Hacer preguntas aleatorias con random

La consigna es la siguiente: "Realiza una trivia donde al usuario le muestre una pregunta, tres opciones y pida por pantalla cual es la correcta. Si es correcta, suma un punto, si no es correcta, no suma nada y da una justificacion de porqué está mal. Las preguntas deben ser realizadas siempre en un orden aleatorio."

Acá les dejo el codigo que hice hasta ahora, el tema es que no se como hacer que el if al ser correcto y hacer la segunda vuelta por el for in range, como que se borre. Porfavor pido solo cosas simples, sin listas, ni nada. Basicamente con lo que esta escrito en el siguiente codigo (como veran falta ponjer las justificaciones todavía):
Código:
from random import random
preg=0
op1=0
op2=0
op3=0
corr=0
just=0
for n1 in range(1,13):
    n1=int(random()*10)
    if n1==0:
        preg='¿A qué grupo pertenece la hemoglobina?'
        op1='Macromolécula.'
        op2='Individuo.'
        op3='Átomo.'
        corr=1
        just="Es una macromolécula ya que la hemoglobina es una proteína, y una proteína es una macromolécula."
    if n1==1:
        preg='¿A qué grupo pertenece el carbono?'
        op1='Molécula.'
        op2='Comunidad.'
        op3='Átomo.'
        corr=3
        just="hola"
    if n1==2:
        preg='¿A qué grupo pertenecen los loros de la reserva natural de "Las piedras"?'
        op1='Población.'
        op2='Individuo.'
        op3='Comunidad.'
        corr=1
        just="hola"
    if n1==3:
        preg='¿A qué grupo pertenece la piel?'
        op1='Órgano'
        op2='Individuo.'
        op3='Tejido'
        corr=3
        just="hola"
    if n1==4:
        preg='¿A qué grupo pertenece la hoja de la planta?'
        op1='Individuo.'
        op2='Órgano.'
        op3='Tejido'
        corr=2
        just="hola"
    if n1==5:
        preg='¿A qué grupo pertenece el oxígeno?'
        op1='Partícula subatómica.'
        op2='Átomo.'
        op3='Molécula.'
        corr=2
        just="hola"
        coso=5
    if n1==6 and coso!=5:
        preg='¿A qué grupo pertenece la actina?'
        op1='Macromolécula.'
        op2='Individuo.'
        op3='Átomo.'
        corr=1
        just="hola"
    if n1==7:
        preg='¿A qué grupo pertenece el protón?'
        op1='Partícula subatómica.'
        op2='Átomo.'
        op3='Molécula.'
        corr=1
        just="hola"
    if n1==8:
        preg='¿A qué grupo pertenece la pecera?'
        op1='Ecosistema.'
        op2='Población.'
        op3='Comunidad.'
        corr=1
        just="hola"
    if n1==9:
        preg='¿A qué grupo pertenece el O2?'
        op1='Molécula.'
        op2='Individuo.'
        op3='Átomo.'
        corr=1
        just="hola"
    if n1==10:
        preg='¿A qué grupo pertenece la arteria aorta?'
        op1='Órgano.'
        op2='Individuo.'
        op3='Tejido.'
        corr=1
        just="hola"
    if n1==11:
        preg='¿A qué grupo pertenece la "pisum sativum"?'
        op1='Comunidad.'
        op2='Individuo.'
        op3='Población.'
        corr=2
        just="hola"
def t(p,p01,p02,p03,c,j):
  print p
  print "Seleccione la opción correcta:"
  print "1.", p01
  print "2.", p02
  print "3.", p03
  z=int(raw_input('Ingrese la opción correcta, 1, 2, o 3: '))
  if z==c:
    x=1
    print '¡La opción elegida es correcta!'
  else:
    x=0
    print 'La opción elegida es incorrecta. La respuesta correcta era la', c,'. La explicación de por qué es', c,'es la siguiente: ', j
  return (x)
p1=t(preg,op1,op2,op3,corr,just)
p2=t(preg,op1,op2,op3,corr,just)
p3=t(preg,op1,op2,op3,corr,just)
p4=t(preg,op1,op2,op3,corr,just)
p5=t(preg,op1,op2,op3,corr,just)
p6=t(preg,op1,op2,op3,corr,just)
p7=t(preg,op1,op2,op3,corr,just)
p8=t(preg,op1,op2,op3,corr,just)
p9=t(preg,op1,op2,op3,corr,just)
p10=t(preg,op1,op2,op3,corr,just)
p11=t(preg,op1,op2,op3,corr,just)
p12=t(preg,op1,op2,op3,corr,just)
rt=p1+p2+p3+p4+p5+p6+p7+p8+p9+p10+p11+p12
print 'El resultado final es:', rt,'.'

Última edición por maxtrata; 27/05/2011 a las 18:20