我刚开始使用Python,为了获得一些实践,我尝试(其中包括)根据用户请求以不同方式生成斐波那契数。
我设法使用嵌入在函数中的for循环和while循环。但是将for循环和函数结合起来是行不通的-Python总是只返回3个数字,无论我输入多少。
def fibonacci():
num = int(input("How many numbers shall be generated?: "))
if num == 0:
fib = []
elif num == 1:
fib = [1]
elif num == 2:
fib = [1,1]
elif num > 2:
fib = [1,1]
for i in range(2,num):
fib.append(fib[-1]+(fib[-2]))
return fib
print("Here are your Fibonacci numbers: ", fibonacci())
我希望看到num = 10 [1、2、3、5、8、13、21、34、55],但是无论如何,我都会得到[1、2、1]我选择数字。
能否请您告诉我代码中哪里有错误? 提前非常感谢!