Ejercicio PHP | Ejercicio Python : Sorteo de alumnos

Hace unos días me vi en la necesidad de hacer un rápido sorteo para el orden de presentación de trabajos finales de un curso que dicto. Me pareció muy simple hacer el respectivo sorteo usando PHP, y de paso también decidí hacerlo con Python, gracias a una sugerencia 😛 (twit).

Antes de empezar debo aclarar que la lista de alumnos se encuentra en un archivo de texto, llamado alumnos6to

Sorteo con PHP:

Voy a obviar algunos detalles en el orden e ire al grano.

Primero almaceno en un array (arreglo) el contenido del archivo alumnos6to

$alumnos = file('alumnos6to');

Luego se puede imprimir el arreglo para visualizar la lista original, se podria hacer con una función creada: imprimir($alumnos):

function imprimir($array){
echo "<ol class='alumnos'>";
foreach ($array as $valor){
echo "<li>$valor</li>";
}
echo "</ol>";
}

Luego se hace la mezcla aleatoria con:

shuffle($alumnos);

Y por ultimo se vuelve a imprimir la lista, ya mezclada aleatóriamente:

imprimir($alumnos);

Y ya se hizo el sorteo.

Sorteo con Python:

Con Python haré el mismo proceso, solo que tendré un archivo resultante llamado: aleatorio, antes de empezar a obtener el contenido del archivo de texto, importé el modulo random, luego importé el contenido del archivo alumnos6to y lo almacené en una lista llamada alumno, usé la función shuffle() que permite mezclar la lista y por ultimo guardé la lista mezclada en el archivo aleatorio..

El código para realizar esto es el siguiente:

from random import *
alumno = []
for nombre in file('alumnos6to'):
alumno.append([nombre])
shuffle(alumno)
aleatorio = file('aleatorio','w')
for nombre in alumno:
aleatorio.write(str(nombre)+'n')

Los archivos completos pueden ser descargados desde aqui.

Esta es solo una, de las muchas maneras de aleatorizar una lista de elementos.

Happy coding 🙂

Anuncios