编写程序,实现Person类及方法,并定义相应类对象并进行测试。 1. 类Person,包含实例属性:name, age, height(身高),weight(体重) 2. 设计构造函数初始化实例属性 3. 设计实例方法setData进行实例属性的键盘输入和修改 4. 设计实例方法printData进行实例属性的输出 5. 设计实例方法按Person的BMI公式为:体重/身高^2。体总单位是kg,身高为m 6. 要求创建Person对象,调用实例方法修改实例属性,并输出修改后的值,最后计算Person的BMI 7. 注意: • 输出的Person身高、体重、BMI保留两位小数
时间: 2024-03-17 10:46:12 浏览: 102
Python 面向对象编程:类的创建与初始化、实例属性与方法、类属性与方法
好的,以下是代码实现:
```python
class Person:
def __init__(self, name, age, height, weight):
self.name = name
self.age = age
self.height = height
self.weight = weight
def setData(self):
self.name = input("请输入姓名:")
self.age = int(input("请输入年龄:"))
self.height = float(input("请输入身高(单位m):"))
self.weight = float(input("请输入体重(单位kg):"))
def printData(self):
print(f"姓名:{self.name}")
print(f"年龄:{self.age}")
print(f"身高:{self.height:.2f}m")
print(f"体重:{self.weight:.2f}kg")
def getBMI(self):
return self.weight / self.height ** 2
# 创建对象,并测试
person = Person("张三", 20, 1.75, 70)
person.printData()
print(f"BMI:{person.getBMI():.2f}")
person.setData()
person.printData()
print(f"BMI:{person.getBMI():.2f}")
```
输出结果:
```
姓名:张三
年龄:20
身高:1.75m
体重:70.00kg
BMI:22.86
请输入姓名:李四
请输入年龄:25
请输入身高(单位m):1.80
请输入体重(单位kg):75
姓名:李四
年龄:25
身高:1.80m
体重:75.00kg
BMI:23.15
```
阅读全文