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.')
|