Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Resolução Atividade 4

Desenvolvi uma solução da seguinte forma:

def agrupamento(lista_1, lista_2):
  try:
    nova_tupla = [numero[0] + numero[1] for numero in zip(lista_1, lista_2)]
    tupla_final = list(zip( lista_1, lista_2, nova_tupla))
    return tupla_final
  except TypeError:
    print('Um ou mais valores das listas passadas não estão formatados corretamente. Verifique os valores inseridos e tente novamente.')

agrupamento(lista1, lista2)  

Porém em listas que possuem elementos a mais ele não exibe nenhum erro, apenas ignora o item em excesso. Estaria errado manter desta forma?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta
solução!

Bom dia Felipe! Tudo bem com você?

Não está errado, mas, para atender ao requisito pedido de lançar um IndexError quando as listas tiverem tamanhos diferentes, você pode ajustar a lógica da sua função adicionando uma verificação para tamanhos diferentes, por exemplo:

if len(lista_1) != len(lista_2):
   raise IndexError('A quantidade de elementos em cada lista é diferente.')

Essa verificação é importante porque garante que o código só prossegue quando as listas têm o mesmo comprimento. Se as listas tiverem tamanhos diferentes, um IndexError é lançado com uma mensagem descritiva, o que facilita a identificação e correção do problema para quem está usando nosso programa. Sem essas mensagens, pode parecer que o código está funcionando corretamente, mesmo quando há problemas. Com uma mensagem de erro adequada, o usuário tem uma orientação mais precisa sobre o que precisa ser corrigido.

Código completo corrigido:

lista1 = [4, 6, 7, 9, 10, 4]
lista2 = [-4, 6, 8, 7, 9]

def agrupamento(lista_1, lista_2):
    try:
        if len(lista_1) != len(lista_2):
            raise IndexError('A quantidade de elementos em cada lista é diferente.')
        nova_tupla = [numero[0] + numero[1] for numero in zip(lista_1, lista_2)]
        tupla_final = list(zip( lista_1, lista_2, nova_tupla))
        return tupla_final
    except TypeError:
        print('Um ou mais valores das listas passadas não estão formatados corretamente. Verifique os valores inseridos e tente novamente.')
    except IndexError as e:
         print(type(e), f'Erro: {e}')
    except Exception as e:
        print(f'Ocorreu um erro inesperado: {e}')

agrupamento(lista1, lista2)  

Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Fico à disposição. Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado