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
Exercícios relacionados
Faça uma função que, dada uma frase, retorne a frase onde todos os caracteres de pontuação (incluindo travessão, vírgula, dois pontos, ponto e vírgula, além da pontuação de encerramento de frase) tenham sido substituídos por espaço.
Dado um texto armazenado em uma string, faça a função que conte o número de frases que aparecem neste texto. Cada frase no texto é terminada com um ponto final, um ponto de exclamação, um ponto de interrogação ou três pontos em sequência (reticências). Pontos de exclamação ou de interrogação não aparecerão repetidos em sequência no texto e esses símbolos só aparecem no texto terminando uma frase. No exemplo a seguir, são contadas 4 frases: Preciso tirar um cochilo. Meus Deus! Que horas são? Vou perder a minha aula…
Faça uma função maiores que, dada uma lista de números inteiros e um número inteiro
, retorna outra lista, que contenha todos os números da lista original maiores que
ordenados em ordem crescente.
Faça uma função acima_da_media que dada uma lista com as notas dos alunos de uma turma, retorne uma lista ordenada com as notas que ficaram acima da média.
DICA 1: Python provê uma função sum(lista).
DICA 2: Aproveite a função desenvolvida no exercício 6.
DICA 1: Python provê uma função sum(lista).
DICA 2: Aproveite a função desenvolvida no exercício 6.