class Fibonacci:
def fn(num):
if num <= 0:
return 0
if num <= 1:
return 1
else:
Result = fn(num - 1) +fn(num - 2)
return Result
amount = int(input("How many numbers do you want? : "))
i = 1
while i < amount:
FibValue = fn(i)
print(FibValue)
i += 1
Fibonacci()
Hier meine Fehler sind:Funktion läuft von selbst, aber nicht, wenn in einer Klasse
File "C:/Users/Carsten/PycharmProjects/untitled/Lesson13.py", line 30, in <module>
class Fibonacci:
File "C:/Users/Carsten/PycharmProjects/untitled/Lesson13.py", line 45, in Fibonacci
FibValue = fn(i)
File "C:/Users/Carsten/PycharmProjects/untitled/Lesson13.py", line 38, in fn
Result = fn(num - 1) +fn(num - 2)
NameError: name 'fn' is not defined
Ich bin nicht ganz sicher, warum ich die def Fibonacci laufen kann: Funktion auf seinem eigenen, sondern als sobald ich es unter eine Klasse stelle, gibt es mir diese Fehler. Ich bin noch ein Anfänger und habe keine Ahnung, was diese Fehler bedeuten, aber selbst das Nachschlagen hilft nicht viel. Jede Hilfe wird geschätzt. Ich weiß, dass ich das nur als eigenständige Funktion nutzen kann, aber ich bin mitten in einem Problem in der Youtube-Serie, die ich mir anschaue, um mich selbst zu unterrichten, und ich möchte nicht einfach im Video springen und nur die Antwort sehen um den Rest des Problems. Danke
Verwendung 'Fibonacci(). Fn (i)'. Dies instanziiert ein Objekt und ruft dann seine 'fn()' Methode auf. – stanleyli
Diese Funktion ist ein schrecklicher Kandidat für eine Klasse. –
@ IgnacioVazquez-Abrams können Sie erklären, warum? –