def Fibonacci(n):
    """Gera o n-ésimo número da sequência de Fibonacci"""

    if n == 0:
        return 0
    if n == 1:
        return 1
    
    # preciso quando quiser gerar um novo:
    penúltimo = 0
    último = 1

    onde_estou = 1

    while onde_estou != n:
        # tenho que dar mais um passo!
        próximo = penúltimo + último
        onde_estou += 1 # é o mesmo que onde_estou = onde_estou + 1
        penúltimo = último
        último = próximo

    return próximo
    
def Fibonacci_novo(n):
    """Retorna o n-ésimo número de Fibonacci F_n."""
    atual, próximo = 0, 1
    quantidade_gerada = 1
    while quantidade_gerada < n+1:
        atual, próximo = próximo, atual + próximo
        quantidade_gerada += 1
    return atual

### Sintaxe econômica para atualizar valor de variável

# DOBRAR o valor da variável bla
# bla *= 2

# # DIVIDIR o valor da variável bla pelo valor da variável ble, guardando em bla
# bla /= ble

# # ELEVAR o valor de uma variável bla ao cubo
# bla **= 3
