diff options
Diffstat (limited to 'buffet_lotterie.py')
| -rwxr-xr-x | buffet_lotterie.py | 36 |
1 files changed, 20 insertions, 16 deletions
diff --git a/buffet_lotterie.py b/buffet_lotterie.py index 82a8d75..a868e66 100755 --- a/buffet_lotterie.py +++ b/buffet_lotterie.py @@ -5,22 +5,26 @@ from math import floor Anzahl_teilnehmer = 6 Silben = ['In', 'for', 'ma', 'tik', 'kann', 'uns', 'wei', 'sen', 'wer', 'als', 'Nächs', 'ter', 'kommt', 'zum', 'Spei', 'sen'] -teilnehmer = Anzahl_teilnehmer -fehlt_noch = float("inf") -einfluss = 0 -offset = 0 -while fehlt_noch > 0: - e = floor((len(Silben) + offset) / teilnehmer) # e Runden ist das Geburtstagskind dran, bis einer gehen darf - offset = ((len(Silben) + offset - 1) % teilnehmer) % (teilnehmer - 1) # nach e Runden fängt Teilnehmer Nummer `offset` an, 0 ist das Geburtstagskind +def denke(anzahl_teilnehmer, silben): + teilnehmer = anzahl_teilnehmer + fehlt_noch = float("inf") + einfluss = 0 + offset = 0 + while fehlt_noch > 0: + e = floor((len(silben) + offset) / teilnehmer) # e Runden ist das Geburtstagskind dran, bis einer gehen darf + offset = ((len(silben) + offset - 1) % teilnehmer) % (teilnehmer - 1) # nach e Runden fängt Teilnehmer Nummer `offset` an, 0 ist das Geburtstagskind - einfluss += e # Geburtstagskind kann insgesamt `e`-mal dem Essen näher kommen - fehlt_noch = (offset - 1) % (teilnehmer - 1) + 1 # um jetzt dran sein zu müssen, hätte das Geburtstagskind `fehlt_noch`-mal zwei Silben sagen müssen + einfluss += e # Geburtstagskind kann insgesamt `e`-mal dem Essen näher kommen + fehlt_noch = (offset - 1) % (teilnehmer - 1) + 1 # um jetzt dran sein zu müssen, hätte das Geburtstagskind `fehlt_noch`-mal zwei Silben sagen müssen - print("Nach " + str(e) + " Runden fängt der " + str(offset + 1) + ". an. Es sind dann noch " + str(teilnehmer - 1) + " Teilnehmer im Spiel.") - if e > 0: # falls das Geburtstagskind dran kam - print("Es fehlten " + str(fehlt_noch) + " bis zum Geburtstagskind") - if fehlt_noch < einfluss: - print("Das Geburtstagskind muss erst " + str(fehlt_noch) + "-mal 'zwei Silben' und dann nur noch 'eine Silbe' sagen, bis es dran ist.") - break + print("Nach " + str(e) + " Runden fängt der " + str(offset + 1) + ". an. Es sind dann noch " + str(teilnehmer - 1) + " Teilnehmer im Spiel.") + if e > 0: # falls das Geburtstagskind dran kam + print("Es fehlten " + str(fehlt_noch) + " bis zum Geburtstagskind") + if fehlt_noch < einfluss: + print("Das Geburtstagskind muss erst " + str(fehlt_noch) + "-mal 'zwei Silben' und dann nur noch 'eine Silbe' sagen, bis es dran ist.") + break - teilnehmer -= 1 # einer geht + teilnehmer -= 1 # einer geht + +if __name__ == "__main__": + denke(Anzahl_teilnehmer, Silben) |
