|
Neste tutorial, vamos aprender como criar um algoritmo que gera uma lista, em Python, com os números da série 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 FibonacciNa 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. O próximo passo é aplicar nos próximos termos a regra da sequência de Fibonacci: Como ja temos os termos f0 e f1, o próximo termo é a soma destes (linha 5). Na próxima iteração, o novo valor de f0 será o valor antigo de 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:
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? (责任编辑:) |


