Skip to content

Instantly share code, notes, and snippets.

@categulario
Created March 12, 2012 02:52
Show Gist options
  • Save categulario/2019424 to your computer and use it in GitHub Desktop.
Save categulario/2019424 to your computer and use it in GitHub Desktop.
Elección aleatoria de equipos y usuarios para una clase de cálculo
#eleccion.py
from random import shuffle, choice
# La funcion shuffle del modulo random puede revolver una lista de forma aleatoria
# La funcion choice escoje de forma aleatoria un elemento de una lista
if __name__ == "__main__":
print "+--------------------------------+"
print "! Sistema de eleccion !"
print "! Aleatoria !"
print "+--------------------------------+"
n_equipos = input("Cuantos equipos?: ")
#Obtenemos el numero de equipos
n_ejercicios = input("Cuantos Ejercicios?: ")
#Obtenemos el numero de ejercicios
ejercicios = range(1, n_ejercicios + 1)
#Generamos una lista de ejercicios del 1 al n
equipos = range(1, n_equipos + 1)
#Generamos una lista de equipos
usados = []
#Tambien usamos una lista vacia de los ejerccios que ya usamos
print "Pulse enter para obtener una eleccion o escriba 'fin' para salir"
shuffle(ejercicios)
#Revolvemos la lista de ejercicios para su seleccion aleatoria
while(ejercicios):
#Este bucle se va a ejecutar mientras ¿ejercicios?
#asi es, en python una lista es ''falsa'' si esta vacia
if raw_input() == "fin":
#Si el usuario quiere salir escribe fin
break
else:
usados.append(ejercicios.pop())
#La funcion pop() de una lista obtiene el elemento final de la misma
#con append agregamos a usados el elemento que acabamos de obtener
print "Equipo", choice(equipos), "Ejercicio", usados[-1]
#imprimimos la correspondiente eleccion, donde choice(equipos)
#escoje un equipo al azar.
#la instruccion usados[-1] obtiene el ultimo elemento de la lista
#de ejercicios usados, recordemos que python permite tomar los
#elementos de una lista en reversa
print
print "See you" #Ya se rompio el bucle, hay que despedirse
"""
FIN @Categulario
"""
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment