想要使用Python求斐波那契数列中第n个数的值,我们需要先了解什么是斐波那契数列。斐波那契数列是指:从第三项起每一项都等于前两项之和。即:0、1、1、2、3、5、8、13、21、34、55、89、...,具体的计算公式为f(n) = f(n-1) + f(n-2),其中f(0)=0,f(1)=1。
下面示例程序演示Python实现斐波那契数列中第n个数的值:
def fibonacci(n):
"""求斐波那契数列中第n个数的值"""
if n < 0:
raise ValueError("n must be positive integer")
if n == 0:
return 0
elif n == 1:
return 1
else:
return fibonacci(n-1) + fibonacci(n-2)
if __name__ == '__main__':
n = 10
print(f"The {n}-th number in Fibonacci sequence is: {fibonacci(n)}")
上面的代码定义了一个函数 fibonacci(n)
,输入参数n
表示需要求的斐波那契数列中的第n
个数,函数返回该值。同时,还增加了异常处理,如果输入参数n
为负数,则会抛出ValueError异常。
在主函数里调用 fibonacci(n)
即可实现求出斐波那契数列中的第n
个数,并打印输出结果。上述代码中,我们设置 n=10
,得到的输出结果是:“The 10-th number in Fibonacci sequence is: 55”。
下面再给出另一个示例代码,该代码使用循环求解斐波那契数列中第n
个数,同样能够得到正确的结果:
def fibonacci(n):
"""求斐波那契数列中第n个数的值"""
if n <= 0:
raise ValueError("n must be positive integer")
if n == 1:
return 0
elif n == 2:
return 1
else:
a, b, i = 0, 1, 2
while i < n:
a, b = b, a+b
i += 1
return b
if __name__ == '__main__':
n = 10
print(f"The {n}-th number in Fibonacci sequence is: {fibonacci(n)}")
在上面的代码中,我们同样定义了一个函数 fibonacci(n)
,输入参数n
表示需要求的斐波那契数列中的第n
个数,函数返回该值。同时,我们使用循环遍历斐波那契数列,计算第n
个值,并返回该值。
在主函数里调用 fibonacci(n)
即可实现求出斐波那契数列中的第n
个数,并打印输出结果。上述代码中,我们同样设置 n=10
,得到的输出结果是:“The 10-th number in Fibonacci sequence is: 34”。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用python求斐波那契数列中第n个数的值示例代码 - Python技术站