Exercícios Resolvidos de Funções

Ver Teoria

Enunciado

Faça uma função que receba uma lista e exiba os elementos da última metade na frente dos elementos da primeira metade.

Passo 1

Beleza, vamos criar nossa função. Nesse caso o enunciado não especificou o nome, então podemos dar qualquer nome pra nossa função.

Já se liga que o enunciado diz “EXIBA”, e não “retorne”. Quando é pra exibir, usamos print. Quando é pra retornar, “return”. Nesse caso, sabemos que vamos fazer uma nova lista e exibi-la no final. Vamos começar fazendo a parte que a gente já sabe.

Show! Agora só precisamos pensar numa lógica que faça o que o enunciado pede.

Passo 2

Pô, a gente precisa pegar a lista da metade em diante e concatenar com a primeira metade. A primeira coisa que precisamos saber pra isso é: QUAL É A METADEEE?

Bom, a metade é ½ do tamanho da lista, e o tamanho a gente pode descobrir com a função len().

Cara, repara que eu usei “//” (divisão inteira) em vez de “/” (divisão normal). Isso porque a gente vai usar índices e não existe índice fracionário. Se o número de elementos na lista for par, não existe um número exatamente no centro. Por isso, temos que arredondar a metade usando o operador de divisão inteira.

Passo 3

Beleza, agora a gente já tem o índice da metade da lista. Vamos fazer a nossa concatenação!

E pronto! A gente uniu a lista da metade até o fim com a mesma lista do início até a metade, exatamente como pediu o enunciado.

Assim, acabamos de matar a questão. Infelizmente o enunciado não nos deu dados de teste, mas a gente pode inventar uns dados pra testar.

Depois de testar, vimos que tudo funcionou na moral! Então, vamos tirar os testes que a gente fez e finalizar a questão.

Resposta