die maximale Rekursionstiefe überschritten im Vergleich

Schrieb ich dieses Stück code zur Berechnung der Anzahl der Kombinationen:

def fact(n):
    return 1 if(n == 1) else n * fact(n - 1)

def combinations(n,k):
    return fact(n)/((fact(n - k) * fact(k)))

while(True):
    print(combinations(int(input()), int(input())))

Die factorial-Funktion scheint gut zu funktionieren. Aber warum macht es mir eine maximale Rekursionstiefe überschritten im Vergleich Fehlermeldung wenn ich versuche zu finden die Kombinationen von zwei zahlen? Gibt es etwas falsch mit der factorial-Funktion, da das ist, wo der Fehler scheint zu sein, entstehend aus?

War dies der Fehler, die ich bekam:

gelieferten.Absturz mit Laufzeitfehler: maximale Rekursionstiefe überschritten im Vergleich

Und die 2 zahlen.
Gibt es etwas falsch mit math.factorial?
und was ist falsch mit scipy.misc.comb?

InformationsquelleAutor Daniel Cook | 2013-11-17

Schreibe einen Kommentar