Faça uma função insere(lista_numero, n) que dada uma lista ordenada (crescente) de números inteiros e um número inteiro n, inclua n 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 n 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).

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