鱼C论坛

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

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

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

使用道具 举报

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

n = int(raw_input("Enter the Fibonacci Number: "))
for i in range(n):
    print CalculationFibonacci(i),

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

使用道具 举报

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

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的序列
# -*-coding:gbk-*-
__author__ = 'chennan'
n1=0
print(n1)
n2=1
print(n2)
n3=n1+n2
print(n3)
while n3<90:
    print(n3)
    n1=n2
    n2=n3
    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 | 显示全部楼层
新人。。。决定从前面的题慢慢开始做,不要怪我挖坟!
a=1
b=0
c=0
for i in range(30):
    c=a+b
    b=a
    a=c
    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 | 显示全部楼层
def z():
        a = 0
        b = 1
        while(a <1000):
                print(a)
                a,b = b , a + b

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

使用道具 举报

发表于 2018-1-26 19:28:28 | 显示全部楼层
list1=[0,1]
for i in range(30):
    m=list1[i]+list1[i+1]
    list1.append(m)
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 | 显示全部楼层
def Fibonacci(n):
    fibo = [0, 1]
    if n == 1:
        print(fibo[0])
    elif n == 2:
        print(fibo)
    else:
        for i in range(3, n + 1):
            fibo.append(fibo[-2] + fibo[-1])
    return fibo

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

使用道具 举报

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

fi[0],fi[1]= 0,1
t = int(input())
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, 2025-1-16 11:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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