Fehlermeldung

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
unique
User
Beiträge: 1
Registriert: Dienstag 13. September 2022, 12:35

Hallo zusammen, ich habe hier eine Funktion die mir eigentlich das paskalische Dreieck berechnen soll....leider bekomme ich ständig Fehlermeldungen(Traceback(most recent call last))...kann einer den Fehler nachvollziehen?

def pascalische_dreieck(depth):
row=[1]
print(row)
for i in range(depth-1):
row_new=[1]
for j in range(row-1):
row_new.append(row[j]+row[j+1])
row_new.append(1)
row=row_new
print(row)

pascalische_dreieck(10)
Sirius3
User
Beiträge: 17754
Registriert: Sonntag 21. Oktober 2012, 17:20

Es wäre jetzt schön, wenn Du gleich die Fehlermeldung mit postest, dann müßten wir das nicht jeder selbst raussuchen.
Und die Fehlermeldung sagt ganz eindeutig, dass man von einer Liste nicht 1 abziehen kann. Was meinst Du eigentlich, was da passieren soll?
Benutzeravatar
__blackjack__
User
Beiträge: 13113
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@unique: Warum behandelt der Code die erste Zeile besonders, also warum ist der Startwert eine Zeile mit einer 1 die *auf jeden Fall* ausgegeben wird? Damit macht die Prozedur für depth=0 etwas falsches und behandelt das wie depth=1.

Wenn man eine Schleife nur hat um etwas eine bestimmte Anzahl mal zu wiederholen und die Schleifenvariable nicht verwendet, dann ist der Konventionelle Name für diese Variable `_`, damit der Leser weiss, dass der Name nicht verwendet wird, und das Absicht, und kein Fehler oder unvollständiger Code ist.

Code: Alles auswählen

#!/usr/bin/env python3
from more_itertools import pairwise, prepend


def pascalische_dreieck(depth):
    row = []
    for _ in range(depth):
        row = [*(a + b for a, b in pairwise(prepend(0, row))), 1]
        print(row)


def main():
    pascalische_dreieck(10)


if __name__ == "__main__":
    main()
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Antworten