40 lines
1.1 KiB
Python
40 lines
1.1 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()
|