Faça uma função insere(lista_numero, n) que dada uma lista ordenada (crescente) de números inteiros e um número inteiro
, inclua
na posição correta, ou seja, de tal maneira que a lista continue ordenada.
DICA: Provavelmente, a primeira idéia que vem à cabeça é inserir diretamente na posição correta, verificando os elementos da lista até achar a posição onde o
deve ser inserido. Mas nós ainda não sabemos fazer isso (veremos nas próximas aulas). Pense em outra estratégia de resolução deste problema, usando a função list.sort(lista).
DICA: Provavelmente, a primeira idéia que vem à cabeça é inserir diretamente na posição correta, verificando os elementos da lista até achar a posição onde o
Passo 1
Beleza, vamos resolver esse exercício juntos! Temos que criar uma função chamada
insere(lista_numero, n)
. Essa função recebe uma lista de números inteiros já ordenada em ordem crescente e um número inteiro n
. A missão é inserir o número n
na posição correta dentro da lista para que ela continue ordenada. Vamos usar conceitos de manipulação de listas e ordenar listas em Python para fazer isso. Além disso, vamos aproveitar a função list.sort()
para nos ajudar nessa tarefa.Passo 2
Primeiro, precisamos entender como as listas funcionam em Python. Uma lista é uma coleção de itens que podem ser acessados por índices. Por exemplo:
lista = [1, 3, 5, 7]
Aqui,
lista[0]
é 1
, lista[1]
é 3
e assim por diante.Passo 3
Nosso objetivo é adicionar o número
n
na lista de forma que a lista continue ordenada. Uma maneira comum de fazer isso é inserir o número na posição correta, comparando n
com cada elemento da lista até encontrar onde ele se encaixa.Passo 4
No entanto, como a dica sugere, vamos usar uma abordagem diferente utilizando a função
list.sort()
. Essa função organiza os elementos de uma lista em ordem crescente (por padrão). Então, podemos simplesmente adicionar o número n
ao final da lista e, em seguida, ordenar a lista novamente.Passo 5
Vamos ver como isso funciona passo a passo. Suponha que temos a seguinte lista ordenada:
lista_numero = [2, 4, 6, 8]
E queremos inserir o número
5
. Primeiro, adicionamos 5
no final:lista_numero.append(5) # Agora a lista é [2, 4, 6, 8, 5]
Em seguida, usamos
sort()
para ordenar a lista novamente:lista_numero.sort() # A lista fica [2, 4, 5, 6, 8]
Pronto! O número
5
foi inserido na posição correta.Passo 6
Agora, vamos implementar isso em uma função. A função
insere
vai receber lista_numero
e n
, adicionar n
à lista, ordenar a lista e retornar a lista atualizada.Passo 7
Vamos ver o código completo da função:
def insere(lista_numero, n):
lista_numero.append(n) # Adiciona o número n ao final da lista
lista_numero.sort() # Ordena a lista em ordem crescente
return lista_numero # Retorna a lista atualizada
Resposta
A função
insere
adiciona o número n
à lista ordenada e garante que a lista permaneça ordenada:def insere(lista_numero, n):
lista_numero.append(n)
lista_numero.sort()
return lista_numero