No texto da questão um é pedido para calcular a soma dos valores da lista. Mas o print ao final do enunciado sugeri a soma dos valores pares da lista. Segue o enunciado com as incongruencias destacadas.
Escreva um código que lê a lista abaixo e faça:
lista = [16, 14, 63, 65, 17, 99, 70, 11, 20, 48, 79, 32, 17, 89, 12, 25, 66]
- A leitura do tamanho da lista
- A leitura do maior e menor valor
- A soma dos valores da lista
A soma dos valores da lista
Ao final exiba uma mensagem dizendo:
"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]"
A soma dos valores pares presentes nela é igual a [soma]
Eu sugiro que algo seja alterado no enunciado para deixa-lo mais claro. Por exemplo retirar o pares do print.
"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]"
ou colocar o pares na parte superior do enunciado
- A soma dos valores pares da lista Se optarem pela segunda opção também sera necessário corrigir o gabarito Eu resolvi dessa forma
# 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 a soma dos numeros pares, respectivamente, utilizando as built-in functions
tamanho = len(lista)
maior_valor = max(lista)
menor_valor = min(lista)
soma_pares = sum(map(lambda x: x * 0 if x%2==1 else x, lista))
# Exibindo o texto
print(f"A lista possui {tamanho} números em que o maior número é {maior_valor} e o menor número é {menor_valor}. A soma dos valores pares presentes nela é igual a {soma_pares}")