wie multiplizieren Sie alle zahlen in einer Sequenz (python)

Wie wenn ich sagte, das Programm n=10 würde, wie ich es zurück 10*9*8*7*6*5....1?

Dachte ich eine while-Schleife, aber ich fühle, dass ich Durcheinander irgendwo, weil es nicht die Summe aller zahlen in der Sequenz.

Mein Aktueller code sieht wie folgt aus

def product(n):
  i=n
  a=n-1
  while a>0:
    return i * a
    b=i * a
    a=a-1
    i=i-1

Gibt es bessere Möglichkeiten, es zu tun, ohne Verwendung von Rekursion? Sorry für die unglaublich Anfänger-Frage, aber ich bin versucht, mir beibringen, wie man code. Du musst irgendwo anfangen!

Dank!

Summieren oder multiplizieren? PS du bist returning erstes in der Schleife...
vermehren,wie mache ich es alles zurück?
Wenn Sie return Sie sind nicht lassen der rest der Schleife code ausgeführt werden, und Sie sind nur die Schleife einmal.
also, setzen Sie die return-Wert außerhalb der Schleife sollte dieses Problem lösen? Ich bin verwirrt darüber, wie die while-Schleife ist zu multiplizieren Sie alle zahlen. Wie fühle ich mich mit meinem aktuellen code, jedes mal, wenn es eine Schleife sein gehen Sie zum zurücksetzen der Wert, wenn das macht keinen Sinn.
Könnten Sie reduce wenn Sie wollen, aber wenn das Ziel ist zu lernen, dass ist wohl nicht so gut. reduce(range(1, n+1), lambda a, b: a*b) Oder math.factorial

InformationsquelleAutor Billy Thompson | 2012-09-02

Schreibe einen Kommentar