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

[Projeto] Escrevi mais que o necessário ou realmente foi necessário esse tanto de ELSE e AND no meu código?

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]>70 and glicemia[i]<=100 else
                      (('Alterada',glicemia[i]) if glicemia[i]>100 and glicemia[i]<=125 else
                      ('Diabetes',glicemia[i]) ) ) for i in range(len(glicemia))] 

print(glicemia_com_rotulo)
1 resposta
solução!

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!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software