Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Exercício 8


```Estou tendo problemas com esse código, ele entra em lup na linha 6, que é do while. Parando lá a op do codigo.
    idade = int(input('Digite sua idade: '))
contador_0_25 = 0
contador_26_50 = 0
contador_51_75 = 0 
contador_76_100 = 0
while idade >= 0:
  if idade >= 0 and idade <= 25:
    contador_0_25 += 1 
  elif idade >= 26 and idade <= 50:
    contador_26_50 += 1
  elif idade >= 51 and idade <= 75:
    contador_51_75 += 1
  elif idade >= 76 and idade <= 100:
    contador_76_100 += 1
    idade = int(input('Informe sua idade(ou um número negativo para encerrar): '))
    print('Distribuição de idades:')
    print('[0-25]:', contador_0_25)
    print('[26-50]:', contador_26_50)
    print('[51-75]:', contador_51_75)
    print('[76-100]', contador_76_100)``
1 resposta
solução!

Oi Alison,

Percebi que o seu código está entrando em loop infinito porque a atualização da variável idade está dentro do último elif, o que faz com que, se a idade informada não estiver na faixa de 76 a 100, o valor de idade não seja atualizado, mantendo a condição do while sempre verdadeira. 😳

Para corrigir isso, você precisa solicitar uma nova idade dentro do loop while, mas fora dos if/elif, garantindo que a variável seja atualizada em cada iteração.

Além disso, o print com a distribuição das idades deve ser feito ao final do loop, após o usuário inserir um número negativo. 👍

Veja o código corrigido:

idade = int(input('Digite sua idade: '))
contador_0_25 = 0
contador_26_50 = 0
contador_51_75 = 0
contador_76_100 = 0

while idade >= 0:
    if idade >= 0 and idade <= 25:
        contador_0_25 += 1
    elif idade >= 26 and idade <= 50:
        contador_26_50 += 1
    elif idade >= 51 and idade <= 75:
        contador_51_75 += 1
    elif idade >= 76 and idade <= 100:
        contador_76_100 += 1
    
    idade = int(input('Informe sua idade(ou um número negativo para encerrar): '))

print('Distribuição de idades:')
print('[0-25]:', contador_0_25)
print('[26-50]:', contador_26_50)
print('[51-75]:', contador_51_75)
print('[76-100]', contador_76_100)

Para saber mais: Documentação oficial do Python sobre estruturas de repetição. Este link leva à documentação oficial do Python, onde você pode aprender mais sobre o funcionamento de loops while e for.

Continue praticando e explorando o mundo da programação! 💪