0
respostas

Como fazer com que aconteça todos os erros que o enunciado 4 esta pedindo?

def agrupamento_com_soma(lista1:list,lista2:list):

try:
agrupar = [(parte1,parte2,parte1+parte2) for parte1,parte2 in list(zip(lista1,lista2))]
print(agrupadaAgrupadaSomada)

except IndexError:
print("A quantidade de elementos em uma lista é diferente")

except ValueError:
print("erro de tipagem de valor")

except TypeError:
print("Não é possivel somar")

lista1 = [4,6,7,9,'A']
lista2 = [-4,'E',8,7,9]
agrupamento_com_soma(lista1,lista2)

O único erro que causa é o TypeError, porque o zip impede que de o erro indexError, mas o ValueError eu não sei o por quê, e se a lista1 = ["a"] lista2 = ["b"] ao invés de dar erro de soma, programa retorna agrupamento = ["ab"]

Encontrei a solução finalmente
na linha agrupar = [(parte1,parte2,parte1+parte2) for parte1,parte2 in list(zip(lista1,lista2))]
eu transformei o resultado da soma em float agrupar = [(parte1,parte2,float(parte1+parte2)) for parte1,parte2 in list(zip(lista1,lista2))]
desse jeito, acontece o problema ValueError quando float("ab") e TypeError quando float(2+"a")