Seite 1 von 1

Summe aller ausgegebenen Werte - Augenanzahl Würfel

Verfasst: Dienstag 7. Juni 2022, 16:52
von mboat
Hallo,

ich bin noch unerfahren in der Programmierung mit python und bräuchte eine Hilfe/Denkanstoss zu der folgenden Aufgabe, die ich leider nicht gelöst bekomme:

Schreiben Sie ein Programm, das einen Würfel simuliert und solange hintereinander zu- fällige Zahlen zwischen 1 und 6 ermittelt und ausgibt, bis die Zahl 6 ermittelt wurde.
Geben Sie anschließend die Anzahl der Würfe und die Summe der Augenzahlen aller Würfe aus.

Den ersten Teil habe ich bereits wie folgt gelöst:

Code: Alles auswählen

import random

i = 0
while i >= 0:
    zufallszahl = random.randint(1,6)
    print(zufallszahl)
    i += 1
    if zufallszahl == 6:
        break
   
    
#Anzahl der Würfe
print("Anzahl der Würfe: {}".format(i))

#Augenzahlen
print("Summe der Augenzahlen: {}".format(?))
Nun zu meiner eigentlichen Frage: Wie lasse ich mir die Summe aller ausgegeben Zufallszahlen (sprich die Anzahl der gewürfelten Augen) berechnen?

Nach meinem Verständnis könnte man eine Liste implementieren, die Zufallszahlen jeweils darin speichern und anschließend die Summer der Werte berechnen lassen. Leider habe ich noch keine Programme mit Listen geschrieben und mich würde interessieren ob es auch eine Lösung ohne gibt.

Danke schonmal :wink:

Gruß
mboat

Re: Summe aller ausgegebenen Werte - Augenanzahl Würfel

Verfasst: Dienstag 7. Juni 2022, 17:50
von ThomasL
Du kennst doch i += 1, wie wäre es also mit summe += zufallszahl?

Re: Summe aller ausgegebenen Werte - Augenanzahl Würfel

Verfasst: Dienstag 7. Juni 2022, 17:52
von nezzcarth
mboat hat geschrieben: Dienstag 7. Juni 2022, 16:52 Nach meinem Verständnis könnte man eine Liste implementieren, die Zufallszahlen jeweils darin speichern und anschließend die Summer der Werte berechnen lassen.

Ja, es gibt auch (fortgeschrittenere) Ansätze mit einer Liste. Aber im Prinzip hast du bei deiner Zählvariablen i doch bereits ein Konzept eingeführt und angewendet, das so ähnlich auch für die Summenbildung funktionieren würde. Den Kopf bei der Schleife würde man übrigens konventioneller Weise als 'while True:' schreiben.

Re: Summe aller ausgegebenen Werte - Augenanzahl Würfel

Verfasst: Dienstag 7. Juni 2022, 18:26
von mboat
Besten Dank :) habe es mithilfe 'summe += zufallszahl' lösen können.
Ziemlich simpel im Nachhinein, aber bin ja noch Anfänger..

Re: Summe aller ausgegebenen Werte - Augenanzahl Würfel

Verfasst: Dienstag 7. Juni 2022, 18:47
von __blackjack__

Code: Alles auswählen

#!/usr/bin/env python3
from random import randint
from more_itertools import split_after, repeatfunc


def main():
    rolls = next(
        split_after(repeatfunc(randint, None, 1, 6), lambda n: n == 6)
    )
    print(
        f"Anzahl der Würfe: {len(rolls)}\n"
        f"Summe der Augenzahlen: {sum(rolls)}"
    )


if __name__ == "__main__":
    main()