1
resposta

Hora da Prática Exercício 1: Enunciado está errado

Bom dia, pessoal!

O enunciado do exercício 1 da lista está pedindo primeiro a soma dos valores da lista, o que eu resolvi dessa maneira:

lista = [16, 14, 63, 65, 17, 99, 70, 11, 20, 48, 79, 32, 17, 89, 12, 25, 66]

tam = len(lista)
maior = max(lista)
menor = min(lista)
soma = sum(lista)


print(f'A lista possui {tam} números em que o maior número é {maior} e o menor número é {menor}. A soma dos valores presentes nela é igual a {soma}')

Entretanto, o resultado que se espera no comando print abaixo, está pedindo a soma dos valores pares presentes na lista. E assim, a solução ficaria assim:

lista = [16, 14, 63, 65, 17, 99, 70, 11, 20, 48, 79, 32, 17, 89, 12, 25, 66]
lista_pares = []

tam = len(lista)
maior = max(lista)
menor = min(lista)

for i in lista:
  if i % 2 == 0:
    lista_pares.append(i)

soma = sum(lista_pares)

print(f'A lista possui {tam} números em que o maior número é {maior} e o menor número é {menor}. A soma dos valores pares presentes nela é igual a {soma}')

Depois de um tempo eu pensei que poderia usar as funções map() e lambda, e então consegui o seguinte código:

lista = [16, 14, 63, 65, 17, 99, 70, 11, 20, 48, 79, 32, 17, 89, 12, 25, 66]

tam = len(lista)
maior = max(lista)
menor = min(lista)

# Usando filter e lambda para obter a lista de números pares
lista_pares = list(filter(lambda x: x % 2 == 0, lista))

soma = sum(lista_pares)

print(f'A lista possui {tam} números em que o maior número é {maior} e o menor número é {menor}. A soma dos valores pares presentes nela é igual a {soma}')

Acredito que com os erros é que aprendemos mais, existir esse erro no enunciado me fez pensar soluções diferentes para o mesmo problema.

1 resposta

Oi Fernando, tudo bem?

O enunciado original solicita a soma de todos os valores da lista, e o print da solução apresentada pelo instrutor segue exatamente essa orientação ao mencionar “A soma dos valores”, conforme descrito no enunciado. Deixo abaixo o código utilizado pelo instrutor:

# Lista gerada
lista = [16, 14, 63, 65, 17, 99, 70, 11, 20, 48, 79, 32, 17, 89, 12, 25, 66]

# Lendo o tamanho, maior e menor número e soma, respectivamente, utilizando as built-in functions
tam = len(lista)
maior = max(lista)
menor = min(lista)
soma = sum(lista)

# Exibindo o texto
print(f"A lista possui {tam} números em que o maior número é {maior} e o menor número é {menor}. A soma dos valores presentes nela é igual a {soma}.")

Mas notei que, no arquivo do notebook dos desafios consta a expressão “A soma dos valores pares”. Trata-se apenas de um erro de digitação no material, que pode ser desconsiderado. O correto é interpretar conforme a atividade, ou seja, “A soma dos valores”.

A correção desse ponto já foi encaminhada para a equipe responsável pelo material.

Espero ter ajudado.

Qualquer dúvida que surgir, compartilhe no fórum. Abraços e bons estudos!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!