No tópico acima, o usuário quer reproduzir o calculo do IMC usando list comprehension, porém, a resposta fornecida não considera as lists. Lendo o tópico dele fiquei com a mesma dúvida. Percorrer as listas usando FOR é simples, mas não estou conseguindo chegar no mesmo resultado usando as lists. Para isso, fiz um outro código usando FOR abaixo:
import numpy as np
peso = np.array([84, 75, 290])
altura = np.array([1.84, 1.75, 3])
for i in peso:
for j in altura:
imc = round((i/(j**2)),2)
if (imc < 30.0):
print('NAO HÁ OBESIDADE')
print(f'Peso: {i}; Altura {j}; IMC: {imc}')
elif (imc >= 30.0 and imc < 35.0):
print('OBESIDADE NÍVEL I')
print(f'Peso: {i}; Altura {j}; IMC: {imc}')
elif (imc >= 35.0 and imc < 40.0):
print('OBESIDADE NÍVEL II')
print(f'Peso: {i}; Altura {j}; IMC: {imc}')
else:
print('OBESIDADE MÓRBIDA')
print(f'Peso: {i}; Altura {j}; IMC: {imc}')
Como eu faria o mesmo usando as lists? Tentei da seguinte forma mas não funcinou:
a = [if imc < 30: print('NAO HÁ OBESIDADE') elif (imc >= 30.0 and imc < 35.0): print('OBESIDADE NÍVEL I') elif (imc >= 35.0 and imc < 40.0): print(f'Peso: {i}; Altura {j}; IMC: {i}') else print('NAO HÁ OBESIDADE')]
Obs: talvez seja inadequado usar LCs quando o codigo fica muito extenso, mas não quero entrar nesse merito agora.