· 

Gewinner mit Python auslosen

In diesem Artikel lose ich die Gewinner meines Gewinnspiels von Ostern 2019 aus. Dabei zeige ich dir das Python-Programm, das ich dafür geschrieben habe. Zunächst wird der Import der Klasse random benötigt. Diese stellt uns eine Funktion zur Generierung von Zufallszahlen zur Verfügung.
import random
Daran anschließend lese ich ein Textfile zeilenweise in eine Liste ein. Dieses Textfile enthält die Namen aller Teilnehmer mit einer richtigen Lösung.
with open('names.txt') as file:
    names = file.read().splitlines()
Danach wird die Anzahl der Gewinner festgelegt. Da ich 5 Bücher verlose, wird dieser Variablen der Wert 5 zugewiesen.
winners = 5
Nun wird in einer For-Schleife der Code für die zufällige Ermittlung der Gewinner aus der Liste 'names' eingeleitet.
for x in range(0, winners):
Die Liste mit Gewinnern wird drei mal zufällig durchgewürfelt:
for n in range(0, 3):
        random.shuffle(names)
Dann wird ein zufälliger Index zur Adressierung eines Elements innerhalb der drei mal zufällig durchgewürfelten Liste ermittelt:
i = random.randint(0, len(names) - 1)
Der Index läuft von 0 bis zur Größe der Liste minus 1 (es wird schließlich bei 0 zu zählen begonnen). Man hätte die Zufallszahl auch von 0 bis 100 laufen lassen können und den Wert modulo 'len(names)' rechnen können. Der gezogene Gewinner wird via print(...) auf der Konsole ausgegeben.
print(names[i])
Damit der gezogene Gewinner nicht erneut gewinnt, wird er mit pop aus der Liste entfernt.
names.pop(i)
Dieser Prozess wird durch die For-Schleife nun noch 4-mal wiederholt.
Die gezogenen Gewinner lauten also
  • Heisenberg
  • Elyesa S.
  • Paul2708
  • aNt0n
  • FonsoAlonso
Bitte sendet mir, wenn ihr den Preis annehmen wollt, eure Adresse an die E-Mail-Adresse fragen@letsrockinformatik.de. Dafür habt ihr bis Montag, den 13.05.19 um 23:59:59 MEZ Zeit. Danach wird ein neuer Gewinner ausgelost. Ihr bekommt dann von mir einen Zahlencode gesendet, den ihr bitte zur Bestätigung unter euren Kommentar mit der Lösung postet. Danach sende ich euch das Buch postalisch zu und lösche im Anschluss eure Adresse wieder aus meinem elektronischen Ordnungssystem.