フィボナッチ数列延長テーマ
5609 ワード
これは中国MOOC上嵩天先生の「python言語プログラム設計」の試験問題の一つです.
要件は次のとおりです.
フィボナッチ数列を計算する関数を作成し、再帰方式を採用し、nを超えないのでフィボナッチ数列要素を出力する.
上記の関数を呼び出して、次の機能を完了します.
ユーザは整数nを入力し、nを超えないすべてのフィボナッチ数列要素を出力し、数列の要素と平均数を出力し、出力は順番に英語のカンマとスペースで分割する.
以下は私が書いたコードですが、まだ考えていないところがあるかもしれません.
要件は次のとおりです.
フィボナッチ数列を計算する関数を作成し、再帰方式を採用し、nを超えないのでフィボナッチ数列要素を出力する.
上記の関数を呼び出して、次の機能を完了します.
ユーザは整数nを入力し、nを超えないすべてのフィボナッチ数列要素を出力し、数列の要素と平均数を出力し、出力は順番に英語のカンマとスペースで分割する.
以下は私が書いたコードですが、まだ考えていないところがあるかもしれません.
n=eval(input())
def f(n):
if n==1 or n==2:
return 1
elif n==0:
return 0
else:
return f(n-1)+f(n-2)
def other_f(n):
s = []
for i in range(n+1):
try:
if f(i)<=f(n):
s.append(f(i))
except:
print(" ")
sum1=sum(s)
avg=int(sum1/len(s))
s.append(sum1)
s.append(avg)
return s
print(other_f(n))