#QUESTAO 4
def posLetra (frase, letra_desejada, numero_da_ocorrencia):
    """recebe como entrada uma string, uma letra, e um 
    numero que indica a ocorrencia desejada da letra 
    (1 para primeira ocorrencia, 2 para segunda, etc)
    entradas: string, string, int
    saída: int ou string"""
    posicao_atual = 0
    quantidade_encontrada = 0
    
    while posicao_atual < len(frase) and quantidade_encontrada < numero_da_ocorrencia:
        letra_atual = frase[posicao_atual]
        if letra_atual == letra_desejada:
            quantidade_encontrada += 1
        posicao_atual += 1
        
    if quantidade_encontrada == numero_da_ocorrencia:
        return posicao_atual-1
    #else
    return 'Ocorrência não encontrada'

#QUESTAO 5
def todos_Fibonacci(n):
    """Retorna a lista dos primeiros n números de Fibonacci"""
    lista_Fibonacci = [0,1]
    while len(lista_Fibonacci) < n:
        list.append(lista_Fibonacci,lista_Fibonacci[-1] + lista_Fibonacci[-2])
    return lista_Fibonacci[:n]

def sum_fibonacci(n):
    """calcula a soma dos n primeiros termos da sequência de Fibonacci"""
    return sum(todos_Fibonacci(n))

#QUESTAO 8
def faltante (lista_faltando):
    """dada uma lista com N − 1 inteiros numerados de 1 a N, 
    descobre qual número inteiro deste intervalo está faltando"""
    list.sort(lista_faltando)
    indice = 0
    while indice < len(lista_faltando) and lista_faltando[indice] == indice+1:
        indice += 1
    return indice+1
