#!/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.')