"""
1.定义一个Person类
1)属性:姓名name,体重weight
2)方法:init方法
2.创建四个对象("牛一",60 ; "陈二",55 ; "张三",70 ; "王五",65 ),将这四个对象添加到列表。
3.获取60-70之间的随机数作为体重标准线(包含60和70),遍历列表将体重大于等于体重标准线的元素写入健康体重名单health.txt。
格式如下:
姓名:牛一 体重:60 状态:健康
姓名:张三 体重:70 状态:健康
姓名:王五 体重:65 状态:健康
"""
import random
class Person(object):
"""创建一个Person的类"""
list1 = []
def __init__(self, name, weight):
"""初始化属性"""
self.name = name
self.weight = weight
# 创建一个类方法
@classmethod
def info_print(cls):
cls.run_w(cls.list1)
f = open('health.txt', encoding="utf_8")
a1 = f.read()
f.close()
print(a1)
# 创建一个静态方法
@staticmethod
def run_w(list1):
"""比较体重"""
# 随机获取60到70的体重标准线
aa = random.randint(60, 70)
print(f"体重标准线为{aa}")
f = open('health.txt', 'w+', encoding='utf_8')
for i in list1:
if i.weight >= aa:
# print(f'姓名:{i.name} 体重:{i.weight}状态:健康')
c1 = f'姓名:{i.name} 体重:{i.weight}状态:健康\n'
f.write(c1) # 写入数据
else:
# print(f'姓名:{i.name} 体重:{i.weight}状态:不健康')
c2 = f'姓名:{i.name} 体重:{i.weight}状态:不健康\n'
f.write(c2) # 写入数据
f.close()
# 创建对象
person1 = Person("牛一", 60)
person2 = Person("陈二", 55)
person3 = Person("张三", 70)
person4 = Person("王五", 65)
# 给类属性的列表添加对象
Person.list1.append(person1)
Person.list1.append(person2)
Person.list1.append(person3)
Person.list1.append(person4)
# 检测结果
Person.info_print() |
|