def quantidade_sorteios(N):
    """Retorna a quantidade de lances de um dado de 6 faces até que um certo número
    seja sorteado"""
    from random import randint
    sorteado = randint(1,6)
    contador = 1
    while sorteado != N:
        sorteado = randint(1,6)
        contador += 1
    return contador

def pede_numero_positivo_menor_que_10():
    """Pede para um usuário digitar um número positivo menor que 10, repedindo
    o pedido até que seja atendido corretamente"""
    pedido = int(input("Digite um número positivo menor que 10: "))
    while pedido <= 0 or pedido >= 10:
        pedido = int(input("Errado! Digite um número positivo menor que 10: "))
    return pedido

def lingua_do_P(palavra):
    """traduz para a lingua do P uma palavra em minúsculas e sem acentos"""
    vogais = 'aeiou'
    resposta = ''
    for letra in palavra:
        if letra not in vogais:
            resposta += letra
        else:
            resposta += letra + 'p' + letra
    return resposta

def transposta(matriz):
    "retorna a transposta de uma matriz dada"
    matriz_transposta = []
    quantidade_linhas_original = len(matriz)
    quantidade_colunas_original = len(matriz[0])
    for posição_linha_transposta in range(quantidade_colunas_original):
        # tarefa é construir & guardar uma linha da transposta
        linha_transposta = []
        for posição_coluna_transposta in range(quantidade_linhas_original):
            elemento_desejado = matriz[posição_coluna_transposta][posição_linha_transposta]
            list.append(linha_transposta,elemento_desejado)
        list.append(matriz_transposta,linha_transposta)
    return matriz_transposta

def contador_frequências_lista(lista):
    """lista -> dicionário"""
    resposta = {}
    for elemento in lista:
        if elemento in resposta:
            resposta[elemento] += 1
        else:
            #primeira vez que esse elemento é visto
            resposta[elemento] = 1
    return resposta

def contador_frequências_palavras_texto(texto):
    """..."""
    lista_de_palavras = str.split(texto)
    return contador_frequências_lista(lista_de_palavras)

def copia_dicionario_de_lista_de_numeros(dicionario):
    """faz uma cópia (correta, não rasa) de um dicionário cujos conteúdos guardados
    são listas de dados imutáveis"""
    cópia = {}
    for chave in dicionario:
        cópia[chave] = list.copy(dicionario[chave])
        #ou:
        #cópia[chave] = dicionario[chave][:]
    return cópia
