Oi, Roger! Como vai?
Seu código está correto e contempla o propósito do desafio! Nesse caso, a utilização de vários ELSE
e AND
é, de todo modo, inevitável.
Caso queira simplificar o programa que você codificou, podemos remover alguns trechos, veja:
glicemia = [129, 82, 60, 97, 101, 65, 62, 167, 87, 53, 58, 92, 66, 120, 109, 62, 86, 96, 103, 88, 155, 52, 89, 73]
glicemia_com_rotulo = [('Hipoglicemia',glicemia[i]) if glicemia[i] <= 70 else
(('Normal',glicemia[i]) if glicemia[i] <= 100 else
(('Alterada',glicemia[i]) if glicemia[i] <= 125 else
('Diabetes',glicemia[i]) ) ) for i in range(len(glicemia))]
print(glicemia_com_rotulo)
Como as condições são mutualmente exclusivas, podemos escrevê-las considerando apenas o limite superior, como em if glicemia[i] <= 100
— no if
anterior, já estamos descartando os valores acima de 70, então não é necessário digitar if glicemia[i] > 70 and glicemia[i] <= 100
.
Essa é apenas uma dica, Roger! Sinta-se à vontade para implementá-la em seu projeto.
Espero ter ajudado com a explicação. Se surgirem novas dúvidas, estarei por aqui.
Um abraço!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!