1
resposta

[Sugestão] Desafio


def corrigindo(gabarito, testes):
    alternativas = {'A', 'B', 'C', 'D'}
    pontuacoes = []

    for teste in testes:
        try:
            for resposta in teste:
                if resposta not in alternativas:
                    raise ValueError('As alternativas não são válidas')

            pontuacao = sum(1 for alternativa_teste, alternativa_gabarito in zip(teste, gabarito)
                            if alternativa_teste == alternativa_gabarito)
            pontuacoes.append(pontuacao)

        except ValueError as e:
            print(f'Erro {e}')
        except IndexError as e:
            print(f'Erro {e}')

    return pontuacoes


resultado = corrigindo(gabarito, testes_sem_ex)
print(resultado)

# 6
def tratamento(lista):
    pontuacoes = {',', '.', '!', '?'}

    for palavra in lista:
        for pontuacao in pontuacoes:
            if pontuacao in palavra:
                raise ValueError(f'O texto apresenta pontuações na palavra "{palavra}".')

    print('A lista está devidamente tratada.')


# Testando com a lista tratada
try:
    tratamento(lista)
except ValueError as e:
    print(f'Erro: {e}')

# 7

def divide_colunas(pressoes, temperaturas):
    try:
        if len(pressoes) != len(temperaturas):
            raise ValueError(f'As listas têm comprimentos diferentes.')

        nova_coluna = [pressao / temperatura for pressao, temperatura in zip(pressoes, temperaturas) if
                       temperatura != 0]

    except ValueError as e:
        print(f'Erro: {e}')
        return []  # Retorna uma lista vazia em caso de erro

    except ZeroDivisionError as e:
        print(f'Erro: {e}')
        return []  # Retorna uma lista vazia em caso de erro

    return nova_coluna
1 resposta

Oii, Gabriel, tudo bem?

Obrigada por compartilhar seu código aqui no fórum :)

Se alguma dúvida surgir, estamos à disposição.

Abraços!