假設(shè)你正在應(yīng)聘華為外包公司的Python開發(fā)崗位,以下是一個可能的面試題:
面試題目:Python實現(xiàn)斐波那契數(shù)列
問題描述:
請編寫一個Python程序,實現(xiàn)計算斐波那契數(shù)列的第n項的值。斐波那契數(shù)列是一個經(jīng)典的數(shù)列,其中每一項都是前兩項的和。數(shù)列的前幾項為:0, 1, 1, 2, 3, 5, 8, 13, 21, ...
示例:
輸入n=6,輸出為8;輸入n=9,輸出為21。
解題思路:
斐波那契數(shù)列的計算可以使用遞歸或迭代的方法。下面將為大家提供使用迭代的解題思路。
解題步驟:
1. 定義兩個變量a和b,分別表示數(shù)列的前兩項,初始值分別為0和1。
2. 使用循環(huán)迭代n次,每次計算a和b的和,并將和賦值給b,再將b的值賦給a。
3. 循環(huán)結(jié)束后,a的值就是斐波那契數(shù)列的第n項的值。
Python代碼實現(xiàn):
def fibonacci(n):
if n <= 0:
return "輸入錯誤,請輸入大于0的整數(shù)"
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
這是一個常見的面試題目,面試官可能會根據(jù)你的解答展開更多問題,例如如何使用遞歸實現(xiàn)斐波那契數(shù)列,或者如何處理特殊情況(如輸入非正整數(shù))。在面試過程中,除了正確的解答問題,展現(xiàn)清晰的代碼思路和良好的編程風(fēng)格也是非常重要的。希望以上面試題案例對你有所幫助!