Con la escusa de que habíamos acumulado algo de merchandising de los distintos eventos en los que hemos participado, decidimos hacer un pequeño sorteo dentro del departamento de IT para ver quién se quedaba cada cosa. Cómo no, el sorteo no podía ser por los medios tradicionales, lease papelitos o piedra-papel-tijera, así que me aventuré a tirar unas líneas de python que resolvieran el problema de forma sencilla, aunque como veréis luego decidimos complicarlo un pelín más. El sorteo lo proyectamos en la tele que tenemos para la monitorización justo al lado del departamento:
La primera versión del código era realmente sencilla y muestra lo fácil que es hacer algo con python, simplemente declara un array de personas y otro de regalos, recorre los regalos y va eligiendo una persona de forma aleatoria como ganador de cada regalo y eliminando esa persona del array de personas:
sorteo-simple.py (Pincha sobre el enlace para ver o descargar el código)
Pero así quedaba un poco simplón por lo que añadí alguna opción más para hacerlo más interesante. La idea es que había gente que sólo estaba interesada en algunos regalos y tenía su orden de preferencia, así que modifiqué el código para que las tuviera en cuenta en caso de que te tocara un regalo a modo de Wish List:
sorteo-wish-list.py (Pincha sobre el enlace para ver o descargar el código)
Y por supuesto el código fue enviado a todos los participantes para que lo auditaran antes de su ejecución con el consiguiente debate de cómo se podría hacer mejor… además en el correo me colé y puse para vuestra audición y alguno quería ponerlo con el festival. Y claro, así no hay forma de hacer trampa, con lo que finalmente no me tocó ningún regalo cómo podéis ver si pincháis sobre la imagen de la tele, pero al menos me queda esta entrada del blog cómo recuerdo.
Artículos relacionados:
- Aplicando Scrum en el departamento de IT
- En el openstack EMEA day
- Experiencias en la administración de sistemas con Software Libre
- Reciclaje continuo
Tags: Andago,Blog,IT,Javier,Motivación,Python,Software Libre,Turegano
Categorías: Caxarreo, General, La Comunidad, Planet
10 comentarios »



10 comentarios a “Sorteo en el departamento de IT”
Google Chrome 8.0.552.200 Linux
#!/usr/bin/perl
my %prefs = ( Bolsa1 => [Roberto,Marcos,JoseManuel],
Bolsa2 => [Roberto,Marcos,JoseManuel],
Taza => [Roberto,Marcos,Jorge,Javier,JoseManuel],
Raton => [Roberto,David,Jorge,JoseManuel]
);
foreach $regalo (keys (%prefs)){
$ganador = $prefs{$regalo}[int(rand(5))] while (!$ganador | grep(/($ganador)/,@ganadores));
push(@ganadores,$ganador);
print “$ganador se lleva el/la $regalo!!\n”;
}
Google Chrome 7.0.517.44 Ubuntu Linux
jturegano@macondo:~/Code$ ./ismas.pl
Unrecognized character \xE2 in column 7 at ./ismas.pl line 12.
Google Chrome 7.0.517.44 Ubuntu Linux
Además el resultado depende de cómo ordenes los regalos al inicializar…
Google Chrome 7.0.517.44 Ubuntu Linux
Hombre, Javier, reemplaza las comillas del “print” final, que wordpress te las formatea y por eso casca.
Google Chrome 7.0.517.44 Ubuntu Linux
Jajajaja, cierto, aún así no es lo mismo.
Mozilla Firefox 3.6.12 Ubuntu Linux
El wordpress te cambia las comillas a cosas mucho más chulas. Cambiad las comillas por comillas como Knutz manda.
Mozilla Firefox 3.6.12 Ubuntu Linux
por cierto, int(rand(6)) o JoseManuel nunca se llevará la taza.
Mozilla Firefox 3.6.12 Ubuntu Linux
Miento, el array empieza en cero. Menuda empanada llevo
Internet Explorer 6.0 Windows XP
jturegano@macondo:~/Code$ ./ismas.pl Unrecognized character \xE2 in column 7 at ./ismas.pl line 12.
Google Chrome 10.0.648.204 Windows 7
¡¡Jajajajaja!! Curiosa forma de hacer un sorteo practicando Python. Es lo que tenemos los informáticos, que sólo pensamos en binario!
¿Te gustaría poner un comentario?