这个是中国MOOC上面嵩天老师的《python语言程序设计》中的考试题目之一
要求如下:
编写一个计算斐波那契数列的函数,采用递归方式,输出不超过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))