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
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 quemaior
, atualizamosmaior
. - Se
elemento
for menor quemenor
, atualizamosmenor
.
Usamoselif
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