A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

漆黑的炎

初级黑马

  • 黑马币:25

  • 帖子:7

  • 精华:0

"""
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()

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马