Warning: Invalid argument supplied for foreach() in /home/hugodoria/hdoria.archlinux-br.org/blog/wp-includes/classes.php on line 255
Hugo Doria » Blog Archive » Script para sorteio de amigo secreto

Script para sorteio de amigo secreto

As festas chegaram e, com elas, os amigos secretos. Para facilitar a vida dos sorteios segue um pequeno script em python que pega um lista de pessoas, sorteia e envia um email para cada uma com o nome do seu amigo secreto. O script evita que uma pessoa pegue a si mesmo, ou alguém deixe de ser sorteado:

#!/usr/bin/env python
# -*- encoding: utf-8 -*-
 
from random import shuffle
import os
 
arquivo = open("amigos.txt","r")
 
pessoas = arquivo.readlines()
shuffle(pessoas)
 
for par in zip(pessoas, pessoas[1:] + pessoas [:1]):
  envia = os.popen("/usr/bin/mail -s '[sorteio] Seu amigo secreto é ...'"
+ par[0].replace("\n","").split("-")[1], "w")
  print >> envia, "tchandandandan .... \n\n\n\n\n\n\n\n\n\n"
+ par[1].replace("\n","").split("-")[0]
  envia.close()
 
arquivo.close()

Para rodar o script você só precisa do python e de um arquivo chamado amigos.txt, com o nome das  pessoas dentro no formato Nome - email.

Exemplo:

Fulano Taltal - meu@email.com.br
Sicrana  - sicrana@hotmail.com
Beltrana Gatinha - com-cam@tal.com.br



5 Responses to “Script para sorteio de amigo secreto”

  1. Rodrigo Avelar disse:

    rá! muito util!
    com esse script nao tem como ser marmelada..
    vlW!

  2. NiX disse:

    Nem precisa usar zip(), acho que fica melhor com pop, assim você garante que a lista fique circular e mais legível no código:

    p1 = pessoas.pop() <- Primeiro indivíduo, sorteia:
    p2 = pessoas.pop() <- Segundo indivíduo, sorteia:

    E por consequência, o último indivíduo da lista sorteia p1, o primeiro retirado (fechando o círculo).

    Como você deu um shuffle, o sorteio continua aleatório :-)

  3. Marcelo Kalib disse:

    Opa.. tive que mudar o >&gt por >>. Aí deu certo..
    E vale lembrar que a pessoa precisa ter o sendmail instalado e configurado para poder funcionar corretamente.

    show de bola cara. ;]

  4. Rafael Gomes disse:

    NERD!!!!!!!!!!!!!!

    HAHAHAHHA

    Adorei vou fazer assim tb! :D

  5. [...] festas chegaram e, com elas, os amigos secretos. Para facilitar a vida dos sorteios segue um pequeno script que fiz ano passado. O script pega um lista de pessoas, sorteia e envia um email para cada uma com o nome do seu amigo [...]

Leave a Reply