通过词典的人的功能和属性

时间:2017-12-11 22:08:52

标签: python function dictionary

我真的在努力理解功能以及如何使用它们来创建属性或属性(在这种情况下我的任务是一个人)

以下是我在字典中声明此人的代码,

def format(person):
    return "Name:\t" + person['name']

def display(person):
    print(format(person))

person = {'name':"Bilbo Baggins"}

然后我可以调用显示器来生成;

Name = Bilbo Baggins

然后我必须在字典中添加一个属性,用于存储我的人的体重和身高(比如两者现在都是0),我已经完成了;

person['height'] = 0
person['weight'] = 0

我现在需要创建一个具有3个参数(名称,高度和重量)的函数(名为 create_person ),并修改我之前的代码以使用此函数并同时打印名称:Bilbo Baggins 还打印重量(公斤)和身高(米)。

这个目的的总体目标是找出一个人的BMI,BMI是通过体重/身高 2 来计算的。我还需要添加一个函数,该函数将前一个字典/函数中的单个人对象作为参数,并返回该人的BMI。通过连接这两个可能吗?

1 个答案:

答案 0 :(得分:2)

class Person:
    def __init__(self, name, height, weight):
        self.name = name
        self.height = height
        self.weight = weight
    # This is called when you print(PERSON OBJECT)
    def __repr__(self):
        return self.name + " " + self.height + " " + self.weight
    def BMI(self):
        return (self.weight/self.height)/self.height

这允许您创建一个这样的人:

person_one = Person("Bilbo", 177, 72.7)
print(person_one)
bmi = person_one.BMI()