Frage von flo192, 25

Function at ....?

hallo, ich programmiere mit python 3 und habe ein problem beim definieren von einem countdown der bei der eingegebenen zahl starten soll ... es kommt als output 'fuction at 0x0...' hier mein code: def countdown_eingabe(n): if n > 0: print(n) countdown_eingabe(n-1) else: print('does not work') countdown_eingabe = input('eingabe\n')

print (countdown_eingabe)

Antwort
von xXFreddy, 14

Hey,

Was machst du da?! nicht böse gemeint aber irgendwie... komisch :D

Also erstmal, man benennt keine Variable wie eine Funktion oder Klasse oder so, sonst überschreibst du das Objekt mit dem Inhalt der variable und kannst im danach folgenden Code die Funktion nicht mehr benutzen, das wird auch dein Problem sein, denn du Arbeitest mit Rekursion was mich zur nächsten Frage bringt.

Musst du mit Rekursion arbeiten? ist evtl nicht so schön und ich denke deine Funktion ist in eine Endlosschleife gefangen, wenn ich ihn mir angucke,

du musst erstmal anstatt des

countdown_eingabe = input("eingabe\n")

# das hinschreiben

countdown_eingabe(n=input("eingabe\n"))

denn wenn du die Funktion Aufrufen möchtest, darfst du nicht einfach das Objekt überschreiben sondern einen Funktionsaufruf machen, jetzt sollte der Code wenigstens Laufen,

Jetzt zum Thema Rekursive Endlosschleife, du reduzierst n jedesmal um 1 bis es 0 ist, dann rufst du die Funktion auf mit der einzugebenden Zahl, dann geht alles wieder von vorne los ;)

MfG

Freddy

Kommentar von flo192 ,

Vielen Dank für deine antwort ich hab ein bisschen rumexperimentiert.. der 'input fehler' naja also irgendwie wurde das noch nicht erklärt und was ich da mache => rumexperimentieren ...wollte halt noch mit dem input den code erweitern doch wie man sieht ging das schief :D

Keine passende Antwort gefunden?

Fragen Sie die Community