# Questão 1
def modifica_lista(lista, valor):
    """Recebe uma lista e um valor, e retorna uma lista como a dada no
    argumento, substituindo a primeira ocorrência de `valor` (se existir) pelos
    elementos 'a', 'q', 'u', 'i'"""
    if valor not in lista:
        retorno = lista.copy()
        # retorno = lista # apenas apelido...
        return retorno
    posição = lista.index(valor)
    return lista[:posição] + ['a','q','u','i'] + lista[posição+1:]

# Questão 2
def maiores_e_menores_que_média(lista):
    """Recebe uma lista de valores inteiros e retorna duas listas: uma composta
    dos elementos da lista dada como argumento estritamente menores que a média
    dos valores presentes naquela lista, em ordem crescente, e a outra composta
    dos valores maiores ou iguais à média, em ordem decrescente."""
    média = sum(lista)/len(lista)
    cópia = lista.copy()
    if média not in lista:
        cópia.append(média)
    cópia.sort()
    posição_média = cópia.index(média)
    primeira = cópia[:posição_média]
    segunda = cópia[posição_média+1:]
    return primeira, segunda[::-1]

# Questão 3a

from random import randrange
def elemento_aleatório(sequência):
    """
    Retorna um elemento aleatório da sequência dada.
    A sequência tem que ser não vazia.
    """
    quantidade = len(sequência)
    posição = randrange(quantidade)
    return sequência[posição]

# Questão 3b

def gera_senha(palavras, separadores):
    """
    Gera uma senha estilo "passphrase" sorteando 4 palavras da lista de
    palavras dada (uma lista de strings) separadas por separadores sorteados
    dentre os separadores dados (uma string)
    """
    palavra_1   = elemento_aleatório(palavras)
    separador_1 = elemento_aleatório(separadores)
    palavra_2   = elemento_aleatório(palavras)
    separador_2 = elemento_aleatório(separadores)
    palavra_3   = elemento_aleatório(palavras)
    separador_3 = elemento_aleatório(separadores)
    palavra_4   = elemento_aleatório(palavras)
    return palavra_1 + separador_1 + palavra_2 + separador_2 + palavra_3 + separador_3 + palavra_4
