Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

[Desafio] Resolvendo desafios de programação com o loop while

Bom dia!
Segue o desafio feito.



lista_de_media =[8.9 , 7.5 , 4.2 ,1.4 , 9.5]
ponto_extra = 1.0
indice = 0

while indice < len(lista_de_media):
    lista_de_media[indice] += ponto_extra
    if lista_de_media[indice] > 10:
       lista_de_media[indice] = 10.0


    if lista_de_media[indice] >= 5.0:
       print(f"Parabéns você foi aprovado, sua média foi {lista_de_media[indice]}.")
    else:
       print(f"Você foi reprovado, sua média foi {lista_de_media[indice]}.")

    indice += 1
1 resposta

Oi, João. Tudo bem com você?

Você trouxe uma solução pro desafio do loop while somando ponto extra nas médias, e o legal é que você foi além do que foi pedido no exercício original: usou len(lista_de_media) pra não fixar o tamanho da lista na condição do while, o que deixa o código mais flexível caso a lista mude de tamanho, e ainda incrementou usando +=, que é uma forma mais direta de fazer a mesma soma. A lógica de parar em 10 quando o valor ultrapassa esse limite também ficou certinha, seguindo exatamente o raciocínio do if dentro do while.

Um adicional bacana que você fez foi criar aquela verificação extra pra dizer se a pessoa foi aprovada ou reprovada com base na média final, isso não tava no escopo do desafio mas mostra que você entendeu bem o funcionamento do if/else dentro do loop, e ainda usou f-string pra deixar a mensagem mais legível, formatando a saída com o valor da média direto na frase.

Parabéns pelo código, João, ficou bem estruturado e com uma pegada própria. Segue compartilhando por aqui, o fórum tá sempre aberto pra esse tipo de troca.

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