Seite 1 von 1

Zwei Werte innerhalb eines Arrays addieren

Verfasst: Sonntag 9. Oktober 2022, 09:41
von lukas_234
Hallo Zusammen,

ich muss folgende Hausaufgabe lösen:
Schreiben Sie eine Funktion, die mehrere Würfel gleichzeitig wirft und die Summe der Augenzahlen zurückgibt.

Die Funktion myDiceSum(numSeiten, anzahlWuerfel, anzahlWuerfe) soll anzahlWuerfel mit numSeiten gleichzeitig werfen, die Summe berechnen und dieses Experiment anzahlWuerfe oft wiederholen.

Beispiel:

myDiceSum(6, 2, 5) --> (4, 7, 12, 10, 8)


Dazu habe ich jetzt folgenden Code geschrieben:
import numpy as np
from random import randint

def myDiceSum(numSeiten: int, anzahlWuerfel: int, anzahlWuerfe: int) -> [int]:

dice=[]
summen=[]

for e in range(anzahlWuerfel):
for e in range(anzahlWuerfe):
e=randint(1, numSeiten)
dice.append(e)
summen=sum(dice)
return summen

Mein Problem ist jetzt, dass ich es immer nur hinkriege die Summe aller Augenzahlen oder alle Augenzahlen einzelnd auszugeben. Wie schaffe ich es, dass immer anzahlWuerfel (z. B. 2, 3,4) Werte innerhalb des Arrays addiert werden, sodass das gewünschte Ergebnis ausgegeben wird.

Re: Zwei Werte innerhalb eines Arrays addieren

Verfasst: Sonntag 9. Oktober 2022, 13:04
von Sirius3
Variablennamen sollten keine Abkürzungen enthalten.Warum anzahlWuerfel aber numSeiten? anzahlSeiten wäre doch viel einleuchtender, oder da man in Oython Variablennamen grundsätzlich klein schreibt, anzahl_seiten.
Warum heißt die Funktion myDiceSum? Entweder Englisch oder Deutsch, aber nicht mal so und mal so. Ein my-Präfix ist niemals sinnvoll, weil das nicht zum Verstehen beiträgt. erzeuge_wuerfelsummen wäre z.B. genau das, was die Funktion macht.
`e` verwendest Du gleichzeitig für drei verschiedene Dinge. Das versteht doch keiner.
Dann solltest Du Dir anschauen, wann welche Liste mit welchen Werten gefüllt wird; das macht man am besten, wenn man sie den Inhalt bei jedem Schleifendurchgang per print ausgeben lässt und prüft, ob es wirklich das ist, was man möchte.