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! 💪