[1,5] O código abaixo tem como objetivo encontrar o maior e o menor elemento de uma lista de números inteiros. No entanto, ele contém erros que impedem seu funcionamento correto. Reescreva a função com a(s) correção(ões) necessária(s).
def maior_menor(lista):
    maior = lista[1]
    menor = lista[1]
    for elemento in lista
    if elemento < maior:
        maior = elemento
    else:
        menor = elemento
    return maior, menor

Passo 1

O enunciado pede uma função em Python que receba uma lista de inteiros e retorne o maior e o menor elemento. Para isso precisamos:
  • Inicializar corretamente as variáveis que irão armazenar maior e menor.
  • Percorrer a lista com sintaxe válida.
  • Fazer comparações lógicas corretas para atualizar maior e menor.

Passo 2

Inicializar maior e menor com o primeiro elemento da lista, ou seja, lista[0], pois lista[1] falha quando a lista tem menos de 2 elementos e não cobre todo o domínio.

Passo 3

Corrigir a sintaxe do laço for adicionando os dois pontos e identando o bloco de comandos:
for elemento in lista:
 ...

Passo 4

Ajustar a lógica de comparação. Para cada elemento:
  • Se elemento for maior que maior, atualizamos maior.
  • Se elemento for menor que menor, atualizamos menor.
    Usamos elif para não reavaliar desnecessariamente.

Passo 5

Juntando tudo, a função corrigida fica:

Resposta

def \(maior_menor\)(lista):
 if not lista:
 raise ValueError("A lista não pode ser vazia")
 maior = lista[0]
 menor = lista[0]
 for elemento in lista:
 if elemento > maior:
 maior = elemento
 elif elemento < menor:
 menor = elemento
 return maior, menor

Exercícios relacionados