华为外包python面试题-Python实现斐波那契数列
发布时间:2023-07-25 15:06:44
发布人:wjy
假设你正在应聘华为外包公司的Python开发岗位,以下是一个可能的面试题:
面试题目:Python实现斐波那契数列
问题描述:
请编写一个Python程序,实现计算斐波那契数列的第n项的值。斐波那契数列是一个经典的数列,其中每一项都是前两项的和。数列的前几项为:0, 1, 1, 2, 3, 5, 8, 13, 21, ...
示例:
输入n=6,输出为8;输入n=9,输出为21。
解题思路:
斐波那契数列的计算可以使用递归或迭代的方法。下面将为大家提供使用迭代的解题思路。
解题步骤:
1. 定义两个变量a和b,分别表示数列的前两项,初始值分别为0和1。
2. 使用循环迭代n次,每次计算a和b的和,并将和赋值给b,再将b的值赋给a。
3. 循环结束后,a的值就是斐波那契数列的第n项的值。
Python代码实现:
def fibonacci(n):
if n <= 0:
return "输入错误,请输入大于0的整数"
elif n == 1:
return 0
elif n == 2:
return 1
a, b = 0, 1
for i in range(3, n+1):
a, b = b, a + b
return b
# 测试
print(fibonacci(6)) # 输出:8
print(fibonacci(9)) # 输出:21
这是一个常见的面试题目,面试官可能会根据你的解答展开更多问题,例如如何使用递归实现斐波那契数列,或者如何处理特殊情况(如输入非正整数)。在面试过程中,除了正确的解答问题,展现清晰的代码思路和良好的编程风格也是非常重要的。希望以上面试题案例对你有所帮助!