2017-11-09 4 views
0

Ich habe Python-Funktion:UnboundLocalError: lokale Variable 'f' verwiesen vor der Zuweisung

FactorialFunction.py

def factorial(n): 
    if n == 0: 
     return 1 
     f = n * factorial(n-1) 
    print(f) 
    return(f) 
    factorial(4) 

zeigt nichts, wenn ich es laufen im Terminal

enter image description here

aber wenn ich es in Python-Shell ausführen erhalten "UnboundLocalEr ror: lokal Variable 'f' vor der Zuweisung referenziert“

enter image description here

Antwort

1

Sie die Python-Code Vertiefung folgen.

if n == 0: 
    return 1 
    f = n * factorial(n-1) 

f = n * factorial(n-1) Diese Aussage wurde nie mit Python-Code erreicht. weil es return vor dieser Aussage erreichen wird.

def factorial(n): 
    if n == 0: 
     return 1 
    f = n * factorial(n-1) 
    print(f) 
    return(f) 
factorial(4) 
+0

es funktioniert, danke –

Verwandte Themen