39 lines
1.2 KiB
Python
39 lines
1.2 KiB
Python
# Devolve o IMC para uma pessoa com peso w e altura h.
|
|
def imc(w, h):
|
|
return w / h ** 2
|
|
|
|
|
|
def main():
|
|
# Lista de pessoas com nome, peso em kg, altura em metro.
|
|
people = [("John", 64.5, 1.757),
|
|
("Berta", 64.0, 1.612),
|
|
("Maria", 45.1, 1.715),
|
|
("Andy", 98.3, 1.81),
|
|
("Lisa", 46.8, 1.622),
|
|
("Kelly", 83.2, 1.78)]
|
|
|
|
print("People:", people)
|
|
|
|
# Esta comprehension define uma lista dos nomes das pessoas em people
|
|
names = [n for n, w, h in people]
|
|
# = [p[0] for p in people] # equivalente
|
|
print("Names:", names)
|
|
|
|
# Usando list comprehensions, obtenha:
|
|
# a) Uma lista com os valores de imc de todas as pessoas.
|
|
imcs = [imc(w, h) for n, w, h in people]
|
|
print("IMCs:", imcs)
|
|
|
|
# b) Uma lista dos tuplos de pessoas com altura superior a 1.7m.
|
|
tallpeople = [(n, w, h) for n, w, h in people if h > 1.7]
|
|
print("Tall people:", tallpeople)
|
|
|
|
# c) Uma lista de nomes das pessoas com IMC entre 18 e 25.
|
|
midimc = [n for n, w, h in people if 18 <= imc(w, h) <= 25]
|
|
print("Mid-IMC:", midimc)
|
|
|
|
|
|
# O programa começa aqui
|
|
if __name__ == "__main__":
|
|
main()
|