[pyar] Randomizar diccionarios para un programa.
Javier Marín
nano.world.contact en gmail.com
Vie Mayo 11 14:43:20 ART 2012
De hecho, leyendo un poco más a fondo me di cuenta de que el primer método
que puse es bastante bueno, sólo que no tengo manera de saber que va a
salir ni en que orden, entonces como puedo validar que lo que el usuario
ingresa es la respuesta correcta? Explico:
Sale
"Preguntas"
"Opciones..."
Ingrese la respuesta: (suponemos que ingresa a)
...
¿Como se si (a) o la opción que sea que introduzca el jugador es la
correcta/incorrecta? ¿Hay alguna manera de comprobar primero eso para poder
escribir una condición que valide o invalide la respuesta? Creo que mi duda
queda mejor planteada así que antes.
El 11 de mayo de 2012 12:24, Javier Marín
<nano.world.contact en gmail.com>escribió:
> Tengo un par de dudas con lo que puso tordek.
>
> preguntas_respuestas = [("Cuanto es 1+1",('a: 2','b: 5','c: 8')), ('Tu
> mama te quiere?', ('a: si', 'b: no', 'c: tal vez'))]
> random.shuffle(preguntas_
> respuestas)
> for pregunta, respuesta in preguntas_respuestas[:3]:
> print pregunta
> print respuestas
> print "==="
>
> cuando creo la lista "pregunta_respuestas" y luego hago dentro de ella una
> tupla con otra tupla dentro ¿Como funciona eso? Osea, necesito acceder a la
> tupla que está dentro de la tupla, porque el usuario debe elegir una de
> esas respuestas, anduve intentando pero la verdad es que eran intentos
> medio ridículos...
>
> Traté haciendo dos listas, una para preguntas y otra para respuestas. A la
> lista de preguntas le aplicaba Shuffle y luego con un numero aleatorio le
> indicaba el indice, la cosa es que no se cual numero va a salir para crear
> un condicional que diga "si sale tal posición, imprimir este set de
> preguntas"... Quizá no me explique del todo pero les dejo un pedazo del
> código que traté y que no veo como lo correcto para resolver el problema.
>
> #!/usr/bin/env python
> # -*- coding: utf-8 -*-
>
> import random
>
> preguntas = ['Cuanto es 1+1', 'Tu mama te quiere?']
> respuestas = ['a: 5\n b: 40\n c: 2\n','a: si\n b: no\n c: tal vez\n']
> numero_pregunta = random.randint(0,1)
> random.shuffle(preguntas)
> #for i in preguntas:
> print preguntas[numero_pregunta]
>
> Otra cosita que no entiendo es, cuando se usa "for pregunta, respuesta in
> preguntas_respuestas[:3]:" ¿Qué tiene que hacer el [:3] ahí? Si se supone
> que solo son dos elementos (0 y 1) en la lista... Voy entendiendo, sí,
> aunque sigo en dudas jaja.
>
> Disculpen mi lentitud
>
> El 10 de mayo de 2012 04:13, Alejandro Santos <listas en alejolp.com>escribió:
>
> 2012/5/10 Javier Marín <nano.world.contact en gmail.com>:
>> > Pues sigo sin lograrlo, estoy tratando de hacerlo de los dos modos, con
>> > listas y con los diccionarios...
>> >
>>
>> Ya sea usando listas, diccionarios, o alguna otra diferente, te
>> conviene elegir una y quedarte con esa.
>>
>> > #!/usr/bin/env python
>> > # -*- coding: utf-8 -*-
>> >
>> > import random
>> > from random import choice
>> >
>> > preguntas_respuestas = {'Cuanto es 1+1':('a: 2','b: 5','c: 8'),'Tu mama
>> te
>> > quiere?':['a: si', 'b: no', 'c: tal vez']}
>> > clave = preguntas_respuestas.keys()
>> > clave_azar = random.choice(clave)
>> >
>> > print clave, preguntas_respuestas[clave]
>> >
>>
>> "clave" es una lista de strings, y clave_azar es un unico string. Acá
>> debería ser:
>>
>> print clave_azar, preguntas_respuestas[clave_azar]
>>
>> --
>> Alejandro Santos
>> _______________________________________________
>> pyar mailing list pyar en python.org.ar
>> http://listas.python.org.ar/listinfo/pyar
>>
>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>
>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> Argentina - http://www.usla.org.ar
>>
>
>
>
> --
> Nano.
> @_nanodice_
> Blog: nano-dice <http://nano-dice.blogspot.com>
>
>
--
Nano.
@_nanodice_
Blog: nano-dice <http://nano-dice.blogspot.com>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20120511/841cdcd7/attachment.html>
More information about the pyar
mailing list