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