鱼C论坛

 找回密码
 立即注册
楼主: 新手·ing

[技术交流] Python:每日一题 6

[复制链接]
发表于 2017-8-23 14:44:07 | 显示全部楼层
  1. print('__________斐波那契数列______________')
  2. x1=0
  3. x2=1
  4. list=[x1,x2]
  5. i=0
  6. while len(list)<=50:
  7.     temp=list[i]+list[i+1]
  8.     list.append(temp)
  9.     i+=1
  10. print(list)
  11.    
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-5 22:06:02 | 显示全部楼层
  1. def CalculationFibonacci(n):
  2.     if n == 0:
  3.         return 0
  4.     elif n == 1:
  5.         return 1
  6.     else:
  7.         return CalculationFibonacci(n - 1) + CalculationFibonacci(n - 2)

  8. n = int(raw_input("Enter the Fibonacci Number: "))
  9. for i in range(n):
  10.     print CalculationFibonacci(i),
复制代码


递归。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-11 11:12:59 | 显示全部楼层
  1. list0 = [0,1]
  2. for i in range(100):
  3.     list0.append(list0[i] + list0[i+1])

  4. print(list0)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-13 17:13:08 | 显示全部楼层
def fib(n):
        yield 0
        x = 1
        y = 1
        yield x
        for i in range(2,n):
                x,y = y,x+y
                yield x
for i in fib(10):
        print(i)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-23 00:11:29 | 显示全部楼层
递归法,算到小于90的序列
  1. # -*-coding:gbk-*-
  2. __author__ = 'chennan'
  3. n1=0
  4. print(n1)
  5. n2=1
  6. print(n2)
  7. n3=n1+n2
  8. print(n3)
  9. while n3<90:
  10.     print(n3)
  11.     n1=n2
  12.     n2=n3
  13.     n3=n1+n2
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-24 21:35:36 | 显示全部楼层
def fab(max):
    n, a, b = 0, 0, 1
    while n < max:
        print(b)
        a, b = b, a + b
        n = n + 1

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-25 10:45:08 | 显示全部楼层

c=[0,1]
for i in range(30):
    c.append(c[-1]+c[-2])
    print(c[-3],end='/')
为什么c.append(c[-1]+c[-2])就是递归了 c.append(c[0]+c[1])就不可了 ???

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-8 21:57:44 | 显示全部楼层
r = int(input('您要求第几个数:'))
x = 1
y = 1
for i in range(1,r):
    x,y = y,x + y
print(x)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-20 17:32:17 | 显示全部楼层
def fib(n):
    if n <= 1:
        return 0
    if n == 2:
        return 1
    else:
        return fib(n-1) + fib(n-2)

n = int(input('请输入大于0的整数:'))
fib_num = []
for i in range(1, n + 1):
    fib_num.append(fib(i))

print(fib_num)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-21 17:51:55 | 显示全部楼层
新人。。。决定从前面的题慢慢开始做,不要怪我挖坟!
  1. a=1
  2. b=0
  3. c=0
  4. for i in range(30):
  5.     c=a+b
  6.     b=a
  7.     a=c
  8.     print c
复制代码

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-3 14:38:11 | 显示全部楼层

def fib(n):
    a,b = 1,1
    for i in range(n-1):
        a=b
        b=a+b
        print(a)
fib(10)


def fib(n):
    a,b = 1,1
    for i in range(n-1):
        a,b=b,a+b
        print(a)
fib(10)


请问这两段程序,结果不一样,a,b=b,a+b和a=b  b=a+b,赋值方式是不一样的吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-17 15:53:02 | 显示全部楼层
a=0
b=1

for i in range(0,10):
    print(b)
    a,b=b,a+b
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-17 16:50:59 | 显示全部楼层
  1. def z():
  2.         a = 0
  3.         b = 1
  4.         while(a <1000):
  5.                 print(a)
  6.                 a,b = b , a + b

  7. z()
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-26 19:28:28 | 显示全部楼层
  1. list1=[0,1]
  2. for i in range(30):
  3.     m=list1[i]+list1[i+1]
  4.     list1.append(m)
  5. print(list1)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-8 15:19:52 | 显示全部楼层
def F1_2(n):
                dire = []
                f1 = 0
                f2 = 1
                dire.append(f1)
                dire.append(f2)
                for i in range(0 , n-1):
                                f1 = f1 + f2
                                f2 = f2 + f1
                                dire.append(f1)
                                dire.append(f2)
                print(dire)
运行结果如下:
>>> F1_2(5)
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-9 16:15:40 | 显示全部楼层
def fib(x,y):
        print(y)
        if y < 10000:
                return fib(y,x+y)

fib(0,1)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-13 15:08:49 | 显示全部楼层
def fab(m):
        if m < 1:
                print('number error!')
                return -1
        if m == 1 or m == 2:
                return 1
        else:
                return fab(m - 1) + fab(m - 2)

results = fab(20)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-13 16:18:00 | 显示全部楼层
  1. def Fibonacci(n):
  2.     fibo = [0, 1]
  3.     if n == 1:
  4.         print(fibo[0])
  5.     elif n == 2:
  6.         print(fibo)
  7.     else:
  8.         for i in range(3, n + 1):
  9.             fibo.append(fibo[-2] + fibo[-1])
  10.     return fibo

  11. print(Fibonacci(10))
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-19 12:18:16 | 显示全部楼层
  1. fi = [-1 for i in range(0,1000)]
  2. def fibo(x):
  3.     if fi[x] != -1:
  4.         return fi[x]
  5.     else:
  6.         return fibo(x-1) + fibo(x-2)

  7. fi[0],fi[1]= 0,1
  8. t = int(input())
  9. print (fibo(t))
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-25 11:09:28 | 显示全部楼层
'''0、1、1、2、3、5、8、13、21、34、……。

    0    n=0
fn={1    n=1
    f(n-1)+f(n-2)   n>=2'''

def feb(n):
    if n==0:
        return 0
    elif n==1:
        return 1
    else:
        return feb(n-1)+feb(n-2)

i=0
while i<20:
    print(feb(i),end=' ')
    i +=1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-25 03:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表