Die Suche ergab 5 Treffer

von ki
Samstag 8. November 2008, 20:52
Forum: Allgemeine Fragen
Thema: return-Anweisung gibt immer None zurück
Antworten: 9
Zugriffe: 2089

Das ist allerdings schön!

Gefällt mir gut mit dem return die funktion erneut aufzurufen

Danke für die Hilfe!
von ki
Samstag 8. November 2008, 20:34
Forum: Allgemeine Fragen
Thema: return-Anweisung gibt immer None zurück
Antworten: 9
Zugriffe: 2089

wenn ich f nicht global setze, bekomme ich folgende Fehlermeldung:

f = str(i) + " " + f
UnboundLocalError: local variable 'f' referenced before assignment



Das ist nun mein aktueller Code:
f = ''

def factors(n, i):
#global f
if i == 0:
return f
elif n % i > 0:
factors(n, i-1)
return f ...
von ki
Samstag 8. November 2008, 20:24
Forum: Allgemeine Fragen
Thema: return-Anweisung gibt immer None zurück
Antworten: 9
Zugriffe: 2089

Aber die funktion wird ja in der if Abfrage durch ein explizites return beendet

edit: sorry, habe erst danach deine edits gelesen
von ki
Samstag 8. November 2008, 20:07
Forum: Allgemeine Fragen
Thema: return-Anweisung gibt immer None zurück
Antworten: 9
Zugriffe: 2089

Hmm, aber er kann ja nicht nach dem else Teil raus, da dann die funktion factors erneut aufgerufen wird. Die rekursive Schleife wird ja nur bei der if == true Abfrage verlassen. Und hier gibt das Skript ja über den print-Befehl korrekt den Wert von f aus, allerdings wird über die return-Anweisung ...
von ki
Samstag 8. November 2008, 16:44
Forum: Allgemeine Fragen
Thema: return-Anweisung gibt immer None zurück
Antworten: 9
Zugriffe: 2089

return-Anweisung gibt immer None zurück

Hallo liebes Forum,

ich bin neu hier und habe gleich mal eine Frage zu meinem kleinen Script, das ich hier mal poste:




f = ''

def factors(n, i):
global f
if i == 0:
print f
return f
elif n % i > 0:
factors(n, i-1)
else:
f = str(i) + " " + f
factors(n, i-1)

print factors( int( raw ...