0
respostas

IMC - nome dos atletas com sobrepeso

transformei a lista original em lista de tuplas (atletas_tuplas) e ao tentar tentar retornar o nome dos atletas com sobrepeso, retorna lista vazia:

atletas = [
    ["Maria Silva", 1.75, 65],
    ["João Santos", 1.80, 72],
    ["Ana Pereira", 1.68, 58],
    ["Pedro Oliveira", 1.92, 85],
    ["Carlos Lima", 1.85, 78],
    ["Beatriz Souza", 1.70, 60],
    ["Fernanda Costa", 1.62, 55],
    ["Lucas Almeida", 1.88, 82],
    ["Rafaela Gomes", 1.74, 63],
    ["Gustavo Ferreira", 1.90, 88],
    ["Larissa Rocha", 1.66, 57],
    ["Henrique Nunes", 1.83, 76],
    ["Juliana Martins", 1.72, 59],
    ["Ricardo Carvalho", 1.86, 80],
    ["Sofia Alves", 1.64, 54],
    ["Matheus Ribeiro", 1.89, 84],
    ["Camila Duarte", 1.69, 61],
    ["Gabriel Monteiro", 1.77, 73],
    ["Eduarda Farias", 1.71, 62],
    ["Thiago Mendes", 1.84, 79],
]

para cada atleta, a exibição deve ser (ex):

"""
Nome: Maria Silva
Altura: 1.75 m
Peso: 65 kg
"""
for atleta in atletas:
    print("Nome:", atleta[0])
    print("Altura:",  atleta[1])
    print("Peso:", atleta[2])
    print("-------------------------")

Converta a lista atletas em uma lista de tuplas

atletas_tuplas = [] 

for atleta in atletas:
    atleta_tupla = (atleta[0], atleta[1], atleta[2])
    atletas_tuplas.append(atleta_tupla)
print(atletas_tuplas)
print("-----------------")

Calculo da altura média desses atletas de forma eficiente utilizando o recurso de list comprehension

alturas = [atleta[1] for atleta in atletas]
altura_media = sum(alturas)/len(alturas)
print(f"A altura média dos atletas é: {altura_media:.2f} metros.")
print("--------------------")

Utilizando list comprehension, crie uma lista contendo o nome dos atletas que possuem IMC maior que 25 e imprima essa lista.

devemos usar os dados de: atletas_tuplas

atletas_sobrepeso = [atleta[0] for atleta in atletas_tuplas if (atleta[2]/(atleta[1]**2) > 25)]
print("Atletas com sobrepeso: ", atletas_sobrepeso)