Estrazione Lotteria con Python

Guida del di

Estrazione Lotteria Python

Creare una lotteria con Python richiede poche righe di codice e può tornare molto utile se si vuole realizzare un estrazione casuale di nomi o numeri.

È possibile anche impostare un timer, in questo modo i nomi saranno estratti un po' alla volta lasciando della suspence.

Prima di tutto è necessario importare le librerie "random" e "time", la prima ci servirà per generare numeri casuale la seconda per bloccare per qualche secondo l'estrazione di un nome all'altro.

Import random #libreria

import time #libreria

Dopo aver importato le due librerie si andrà a creare la funzione appropriata:

def lotterianomi(x): # la variabile x sarà una lista contenente i nomi delle persone che devono essere estratte (o i numeri)

successivamente si andrà a creare un ciclo for, il quale ad ogni giro preleverà un nome e lo toglierà dalla lista, l'ultimo nome rimasto sarà il vincitore:

for i in range (0,len(x) -1): #per richiamare il valore di una lista è sufficiente scrivere: nomelista[posizionevalore], in molti linguaggi di programmazione il primo valore parte da "0" e non da "1" quindi è necessario avere un range di valori che vari da zero fino alla lunghezza massima – 1.

Questa operazione è necessaria perché quando in una lista contenente 3 valori si richiama il terzo valore scrivendo lista[3] il programma restituirà un errore in quanto l'ultimo valore dell'array si trova in lista[2].

m=random.randint(0,len(x)-1) #viene estratto un numero a caso, corrispondete al nome della lista

time.sleep(5) #il programma attende 5 secondi prima di restituire il nome di chi è stato eliminato (questo valore può essere cambiato a piacimento).

Print x[m] +" eliminato" # viene stampato il nome dell'eliminato

del x[m] # viene tolto dalla lista iniziale il nome eliminato, in questo modo quando il metodo random.randint(0,len(x)-1) verrà richiamato saprà che la lista è stata decrementata.

Print x[0] + " Vincitore ", stampa il nome del vincitore aggiungendo affianco la scritta vincitore. Viene stampato il valore x[0], in quanto la lista è stata completamente svuotata e l'unico rimasto si trovata nel primo cassetto.

Ora proviamo a richiamare la funzione inserendo una lista contente quattro nomi:

lotterianomi (["Luca","Mario","Anna","Francesca"])

Ecco il risultato a video del programma lanciato per 3 volte

risultato estrazione

Come si può notare i risultati sono sempre diversi. Il programma può essere ampliato inserendo una funzione che crea in automatico una lista da un file.txt, oppure che estragga dei numeri al posto dei nomi, può essere utilizzato in vari modi anche per effettuare dei contest online che richiedono un estrazione casuale.

Impostando un timer ragionevole è possibile registrare l'estrazione e mostrarla ai visitatori del proprio sito web che hanno partecipato al contest.

Il codice è disponibile su Pastbin, cliccando a questo link: Codice Sorgente Lotteria Python

Nota: per questo programma è stato utilizzato Python 2.7.6

Immagini correlate


Link utili