织梦CMS - 轻松建站从此开始!

abg欧博官网|登陆|游戏|

Como gerar a Sequência de Fibonacci com listas e r

时间:2025-12-23 23:25来源: 作者:admin 点击: 8 次
Aprenda a gerar uma lista com os números da sequência de Fibonacci em Python

Neste tutorial, vamos aprender como criar um algoritmo que gera uma lista, em Python, com os números da série de Fibonacci:

Exibir a sequência de Fibonacci


Código da Sequência de Fibonacci em Python

Sem mais delongas, vamos ao algoritmo:

def fib(n):

    f0, f1 = 0, 1

    f = [1] * n

    for i in range(1, n):

        f[i] = f0 + f1

        f0, f1 = f1, f[i]

    return f

num = int(input("Quantos termos gerar: "))

print( fib(num) )

Diferente das outras vezes, que usamos o laço while e usando recursão com funções, dessa vez vamos usar listas.

Código comentado da Série de Fibonacci

Na linha 1, definimos a função fib(), que recebe um inteiro n, que é o número de termos que vamos gerar.

Os primeiros termos da série sempre são 0 e 1, armazenados nas variáveis f0 e f1.
E para os próximos termos? Bom, como teremos n termos, vamos criar uma lista f com n termos, isso foi feito na linha 3.

O próximo passo é aplicar nos próximos termos a regra da sequência de Fibonacci:
"Cada termo é a soma dos dois anteriores"

Como ja temos os termos f0 e f1, o próximo termo é a soma destes (linha 5).
Agora temos três termos: f0, f1 e f[i]

Na próxima iteração, o novo valor de f0 será o valor antigo de f1.
O novo valor de f1 será o valor anterior da lista f
E o novo valor da lista? É sempre a soma dos dois anteriores, que são f0 e f1.

Benchmarking do algoritmo

Vamos usar os comandos %timeit e %time para analisar o tempo e execução para achar uma lista com os 100 primeiros termos da Série de Fibonacci como nosso algoritmo:

Sequência de Fibonacci em Python


Veja que foram feitos 100.000 (cem mil!) loops, em poucos microssegundos! Ou seja, é um bom código.

Exercício:

Faça o mesmo benchmarking para o código usando apenas o laço while. E depois usando o código que usa apenas recursividade sem as listas.

E aí, qual deu melhor?

(责任编辑:)
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:
发布者资料
查看详细资料 发送留言 加为好友 用户等级: 注册时间:2025-12-27 04:12 最后登录:2025-12-27 04:12
栏目列表
推荐内容