Summe aller ausgegebenen Werte - Augenanzahl Würfel

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
mboat
User
Beiträge: 2
Registriert: Dienstag 7. Juni 2022, 16:40

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
Benutzeravatar
ThomasL
User
Beiträge: 1379
Registriert: Montag 14. Mai 2018, 14:44
Wohnort: Kreis Unna NRW

Du kennst doch i += 1, wie wäre es also mit summe += zufallszahl?
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
nezzcarth
User
Beiträge: 1765
Registriert: Samstag 16. April 2011, 12:47

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.
mboat
User
Beiträge: 2
Registriert: Dienstag 7. Juni 2022, 16:40

Besten Dank :) habe es mithilfe 'summe += zufallszahl' lösen können.
Ziemlich simpel im Nachhinein, aber bin ja noch Anfänger..
Benutzeravatar
__blackjack__
User
Beiträge: 14078
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

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()
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Antworten