Thema: Woher kommt das NONE? (erledigt!)
Hallo zusammen,
ich stehe auf dem Schlauch, was die Ausgabe des folgenden Codes anbelangt:
Python-Code
def histo(l): for i in range(len(l)): print(l[i] * "*") e = 2,5,4 print(histo(e))
Die Ausgabe ist:
Zitat:
**
*****
****
None
Kann mir jemand erklären, wo das "None" herkommt? Eigentlich sollten doch nur 3 zeilen mit der jeweiligen Anzahl an Sternen gedruckt werden aber irgendwas passiert scheinbar danach noch?!
print(histo(e)) gibt aus, was die Funktion zurückgibt. Dort gibt es aber keinen Returnwert. Daher das None.
Danke soweit. Aber in dieser Funktion ist ein 'return' drin und trotzdem kriege ich None zurück:
Python-Code
def ggt(x,y) r = x % y if r == 0: return y else: ggt(y,r) print ggt(15, 10)
Wenn ich wiederum in der Funktion 'return' durch 'print' ersetze und dann die Funktion aufrufe, wird der richtige Wert ausgegeben. Ich verstehe es nicht...
Okay also vermute ich mal, dass in jedem vorhandenen Statement (in diesem Fall in 'if' und 'else') ein return stehen muss, zumindest wenn man einen Rückgabewert für irgendetwas braucht...