【Python】【demo实验10】【练习实例】【打印斐波那契数列】

斐波那契数列介绍:

斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=3,n∈N*)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用,为此,美国数学会从1963年起出版了以《斐波纳契数列季刊》为名的一份数学杂志,用于专门刊载这方面的研究成果。

与黄金分割关系

有趣的是,这样一个完全是自然数的数列,通项公式却是用无理数来表达的。而且当n趋向于无穷大时,前一项与后一项的比值越来越逼近黄金分割0.618(或者说后一项与前一项的比值小数部分越来越逼近0.618)。

1÷1=1,1÷2=0.5,2÷3=0.666...,3÷5=0.6,5÷8=0.625…………,55÷89=0.617977……………144÷233=0.618025…46368÷75025=0.6180339886…...

越到后面,这些比值越接近黄金比.

我的源代码:

#!/usr/bin/python
# encoding=utf-8
# -*- coding: UTF-8 -*-

# 斐波那契数列
# 打印斐波那契数列
l = []
l.append(1)
l.append(1)
for i in range(2,300):
    l.append(l[i-1]+l[i-2])
    print(l)

结果:

原题给出的几种实现方法:

————————(我是分割线)————————

参考:

1. RUNOOB.COM  : https://www.runoob.com/python/python-exercise-example6.html

2. 百度百科:https://baike.baidu.com/item/%E6%96%90%E6%B3%A2%E9%82%A3%E5%A5%91%E6%95%B0%E5%88%97/99145?fr=aladdin

备注:

初次编辑时间:2019年9月24日12:16:20

环境:Windows 7   / Python 3.7.2

原文地址:https://www.cnblogs.com/kaixin2018/p/11577659.html

时间: 2024-10-06 19:16:20

【Python】【demo实验10】【练习实例】【打印斐波那契数列】的相关文章

python脚本10_打印斐波那契数列的第101项

#打印斐波那契数列的第101项 a = 1 b = 1 for count in range(99): a,b = b,a+b else: print(b) 方法2: #打印斐波那契数列的第101项 a = 1 b = 1 for i in range(2,101): if i == 100: print(a+b) b += a a = b-a 原文地址:https://www.cnblogs.com/KunGe-13/p/10204841.html

用L脚本语言打印斐波那契数列

下面这个例子脚本可以打印斐波那契数列的前10个 #scp 定义:整数,num1,0 定义:整数,max,10 定义:整数,count,1 定义:函数,fib,index,fibnumber 如果:((index==1) || (index ==2)) fibnumber=1 否则 定义:整数,x,0 定义:整数,y,0 定义:整数,z1,0 定义:整数,z2,0 x=index-1 y=index-2 调用:函数,fib,x,z1 调用:函数,fib,y,z2 fibnumber=z1+z2 结

如何打印斐波拉契数列以及质数列表

这其实是两道非常基础和简单地题.但somehow每隔一段时间我老是会不经意地想起这两个问题,有时候卡克没有一下想起解法还会急的直冒汗................... 言归正传,贴出这两题代码 (1)打印斐波拉契数列 // Java program for Fibonacci number using Loop. public static int fibonacciLoop(int number){ if(number == 1 || number == 2){ return 1; } i

冒泡排序 and 选择排序 变量打印斐波拉契数列 and 数组打印斐波拉契数列

1 排序 1.1 冒泡排序 1 #include <stdio.h> 2 int main() 3 { 4 int i,j,tmp,a[6]; 5 printf("input six int numbers:\n"); 6 for(i=0;i<6;i++) 7 { 8 scanf("%d",&a[i]); 9 } 10 for(j=1;j<6;j++)//比较的趟数(6个数比较5趟) 11 for(i=0;i<6-j;i++)/

python学习第四十四天斐波那契数列和yield关键词使用

斐波那契数列是数学中的常见的算法,第一个第二个不算,从第三个开始,每个数的都是前面两个数的和,使用yield关键词把生成的数列保存起来,调用的时候再调用,下面举例说明一下 def fab(max): n, a, b = 0, 0, 1 while n < max: yield b # print b a, b = b, a + b n = n + 1 调用方式 >>> for n in fab(5): ... print n ... 1 1 2 3 5 在这里yield起到关键的作

Python语言打印斐波那契数列

Python代码如下: a, b = 0, 1 while b < 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000: print(b) a, b = b, a+b 打印结果如下: 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 750

python3 练手实例7 斐波那契数列

1 '''a,b=0,1 2 x=int(input('请指定需要多少项:')) 3 while x>0: 4 print(b) 5 a,b=b,a+b 6 x-=1''' 7 #递归 8 def fibo(n): 9 if n<=1: 10 return 1 11 else: 12 return fibo(n-1) + fibo(n-2) 13 i=int(input('请指定需要多少项:')) 14 for j in range(0,i): 15 print(fibo(j)) 原文地址:h

递归函数打印斐波那契数列

def f(n, arg1=0, arg2=1, arg3=1): while n >0: arg3 = arg1 + arg2 i = arg3 - arg2 print(i) arg1, arg2 = arg2, arg1 + arg2 n -= 1 return f(n, arg1, arg2) f(1)

Python递归及斐波那契数列

递归函数 在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数.举个例子,我们来计算阶乘 n! = 1 * 2 * 3 * ... * n,用函数 fact(n)表示,可以看出:fact(n) = n! = 1 * 2 * 3 * ... * (n-1) * n = (n-1)! * n = fact(n-1) * n所以,fact(n)可以表示为 n * fact(n-1),只有n=1时需要特殊处理.于是,fact(n)用递归的方式写出来就是: def fact(