sxzpf 发表于 2018-9-6 20:36:21

j = 1
while j>0:
    n = int(input('请输入数列长度n:'))
    a =
    if n >=3:
      for i in range(n-2):
            a.append(a+a)
      print(a)
    elif n==2:
      print(a)
    elif n==1:
      print(a)
    else:
      print('让你输入长度,你个笨蛋,滚回去重新输入')
    j += 1

apple_wt 发表于 2018-9-12 16:15:40

def fib():
    n = int(input("请输入一个数:"))
    a,b =1,1
    for i in range(n):
      print(a,end=" ")
      a,b = b,a+b

fib()

zhangjk19841984 发表于 2018-10-18 17:01:57

list=[]
f0=0
f1=1
list.append(f0)
list.append(f1)

for i in range(20):
    fn=f0+f1
    f0=f1
    f1=fn
    list.append(fn)
print(list)

Roc乘风 发表于 2018-10-21 17:40:58

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

m = int(input('Please:'))
list =
for i in range(1,m+1):
    list.append(feb(i))

print(list)



继续

I_love_fishc_tj 发表于 2018-10-27 15:21:24

本帖最后由 I_love_fishc_tj 于 2018-10-27 15:29 编辑

z =
for i in range(10):
    z.append(z[-2] + z[-1])
print(z)

double-lee 发表于 2018-12-3 21:41:04

def fib(n):
    if n == 1:
      return 1
    if n == 2:
      return 1
    if n > 2:
      return fib(n-1) + fib(n-2)

a = int(input("请输入要显示的第几个数:"))
print(fib(a))

sunrise085 发表于 2018-12-21 13:53:04

写了两个。
一个是函数循环输出。
一个是递归函数计算。

#函数循环的方式输出前n个斐波那数列
n=input('请输入斐波那数列的序列号:')
def fibonacci(n):
        a=0;b=1
        print(a,b,end=' ')
        for i in range(n-2):
                c=a+b
                print(c,end=' ')
                a=b;b=c
               
fibonacci(n)

#递归函数方法返回第n个斐波那数列的值
def fib(n):
        if n==1:
                #print(0,end=' ')
                return 0
        elif n==2:
                #print(1,end=' ')
                return 1
        elif n>2:
                #print (fib(n-1)+fib(n-2),end=' ')
                return fib(n-1)+fib(n-2)
        else:
                return None
print(fib(n))

nnxiaod 发表于 2018-12-31 18:02:19

都写得太好了,最喜欢这个:
def do3(n):
    x = 1
    y = 1
    yield x
    for i in range(2, n):
      x, y = y, x + y
      yield x

for i in do3(100):
    print(i)

xxt 发表于 2019-1-14 21:52:51

def fib(n):
    fib =
    for i in range(2,n):
      fib.append(fib+fib)
    for i in range(n):
      print(fib,end=' ')
fib(10)

北城以北灬 发表于 2019-2-22 10:21:00

def fib(num):

    L =
    for n in range(2, num):
      L.append(L + L)

    print(L)

Sneakerjj 发表于 2019-3-7 16:47:31

#1,1,2,3,5,8,13
#1,2,3,4,5
def fib(n):
    n1 = 1
    n2 = 1
    n3 = 1
   
    while(n-2) > 0:   
      n3 = n2 + n1
      n1 = n2
      n2 = n3
      n -= 1

      
    return n3

lwy520 发表于 2019-3-10 22:31:17

output=int(input("请输入需要求的fibonacci数列的长度:"))
fib=list(range(output))
i=0
while(True):
    i+=1
    if i>=output:
      break
    if i==1:
      fib=1
    else:
      fib=fib+fib

print(fib)

yu123py 发表于 2019-4-26 17:14:07

肯定是递归la!
def fib(n):
    if n == 1 or n == 2:
      return 1
    else:
      return fib(n-1) + fib(n-2)

for i in range(1, 11):
    print(fib(i))

小猪猪妍 发表于 2019-7-4 17:08:32

i=0
ii=1
iii=0
a=
while iii<10000:
    iii=i+ii
    b=
    a=a+b
    i=ii
    ii=iii
print(a)

山岂乎不在高 发表于 2019-7-7 17:29:10

def fib(n):
    lista =
    if n < 3:
      return lista[:n]
    else:
      for i in range(2,n):
            lista.append(lista + lista)
      return lista
if __name__ == "__main__":
    print(fib(4))

糠爸 发表于 2019-7-8 09:34:11

本帖最后由 糠爸 于 2019-7-8 09:50 编辑

请大师们指正!

#题目:斐波那契数列。
#程序分析:斐波那契数列(Fibonacci sequence),又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……。
#a(n)=a(n-1)+a(n-2)

list = []
stop_point = int(input("请输入斐波那契额数列的终点项数:"))

if stop_point < 3:
        print("斐波那契额数列至少包括3项!")
        stop_point =int(input("请输入斐波那契额数列的终点项数:"))

a0 = int(input("请输入斐波那契额数列的第一项整数:"))
a1 =int(input("请输入斐波那契额数列的第一项整数:"))
list.extend()

for an in range((stop_point-1)):
        an = list[-2] + list[-1]
        list.append(an)

print(list)

糠爸 发表于 2019-7-8 09:36:18

本帖最后由 糠爸 于 2019-7-8 09:49 编辑

#题目:斐波那契数列。
#程序分析:斐波那契数列(Fibonacci sequence),又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……。
#a(n)=a(n-1)+a(n-2)

list = []
stop_point = int(input("请输入斐波那契额数列的终点项数:"))

if stop_point < 3:
        print("斐波那契额数列至少包括3项!")
        stop_point =int(input("请输入斐波那契额数列的终点项数:"))

a0 = int(input("请输入斐波那契额数列的第一项整数:"))
a1 =int(input("请输入斐波那契额数列的第一项整数:"))
list.extend()

for an in range((stop_point-1)):
        an = list[-2] + list[-1]
        list.append(an)

print(list)



哈哈,突然发觉直接可以上传编码了,高兴!

panheng 发表于 2019-8-8 13:46:36

#题目:斐波那契数列。又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……。从第三项开始,后项为前两项之和
#试通过程序输出数列前100项。

#解法1,采用循环迭代变量,
def answer1():
    n1 = 1                     #定义数列第1项
    n2 = 1                     #定义数列第2项
    list1 =
    for i in range(1,99):      #循环98次生成3-100项
      n = n1 + n2
      list1.append(n)      #计算后项并从后加入目标数列
      n1, n2 = n2, n         #重新将n2,n的数据赋值给n1,n2进行迭代。
    print(list1)
    print(len(list1))

#解法2:可选择传入数列项数进行迭代,默认值为100,采用while循环
def answer2(t=100):
    t = t
    n1 = 1                      # 定义数列第1项
    n2 = 1                      # 定义数列第2项
    list1 =
    loop = 0                  # 定义循环控制变量
    while loop < t-2:
      n = n1 + n2
      list1.append(n)
      n1, n2 = n2, n
      loop += 1
    print(list1)

#解法3:采用自定义函数Fib(n),输入参数后通过通项公式递归求解前20项。
def answer3(n=20):
    def Fib(n):
      if n ==1 or n == 2:
            return 1                         #递归终点
      else:
            return Fib(n-1) + Fib(n-2)       #抽象出通项公式递归
    list1 = []                               #值加入列表输出
    for i in range(1,n+1):
      list1.append(Fib(i))
    print(list1)
   
if __name__ == '__main__':
    answer1()
    answer2()
    answer3(20)

克里斯保罗 发表于 2019-8-25 19:15:32

def Fabs(x):
          if (x==1) or (x == 2):
                  return 1
          else:
                  return Fabs(x-1)+Fabs(x-2)
def main():
          for i in range(10):
                  print(Fabs(i))

if __name__=='__main__':
         main()

Msathmi 发表于 2019-9-15 11:07:16

n=int(input("求斐波那契数列第_个数:"))
list=
def fs(n):
    i=1
    for i in range(n):
      list.append(list+list)
      i+=1
    return list
if n==1:
    print(0)
elif n==1:
    print(1)
else:
    print(fs(n))
页: 1 2 3 [4] 5
查看完整版本: Python:每日一题 6