summaryrefslogtreecommitdiff
path: root/buffet_lotterie.py
blob: 5d203fc1aef413d12d0fb73202a4f07722c9a52f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/usr/bin/env python3

Anzahl_teilnehmer = 28
Silben = ['In', 'for', 'ma', 'tik', 'kann', 'uns', 'wei', 'sen', 'wer', 'als', 'Nächs', 'ter', 'kommt', 'zum', 'Spei', 'sen']

scores = dict()

for doppelte in range(Anzahl_teilnehmer):
    teilnehmer = list(range(Anzahl_teilnehmer)) # Teilnehmer besitzen Nummer; Geburtstagskind hat die 1
    wer_ist_dran = 0 # Wer aus `teilnehmer` durfte als letztes gehen?
    dop = doppelte
    runden = 0
    while len(teilnehmer):
        runden += 1
        for s in Silben: # jeder spricht eine Silbe
            if wer_ist_dran == 0 and dop > 0:
                dop -= 1
                wer_ist_dran += 1 # es sei denn, wir testen, ob es als Geburtstagskind sinnvoller ist, 2 zu sprechen
                if wer_ist_dran == len(teilnehmer):
                    wer_ist_dran = 0

            wer_ist_dran += 1
            if wer_ist_dran == len(teilnehmer):
                wer_ist_dran = 0

        if teilnehmer[wer_ist_dran] == 0:
            #print('Das ist das Geburtstagskind - ' + str(runden) + ' Runden hat es gedauert')
            scores[doppelte] = runden
            pass # Geschafft, wir kriegen Essen

        del teilnehmer[wer_ist_dran]
        wer_ist_dran -= 1

print('Das Geburtstagskind sollte von Anfang an ' + str(min(scores, key=scores.get)) + '-mal zwei Silben und anschließend eine Silbe sprechen.')