前言
学习python的过程中,类的学习也是十分重要的。于是我就得到了这样的一份作业
尝试处理微信中接龙信息,如图例,希望能统计小区人员信息,统计外出人员,无外出人员,高烧人员,正常人员。设计过程中,最好使用类来进行处理。上传代码,执行结果(图片)。
一、类是什么
类是各种编程语言中的一种结构,该结构是为了整理和简化代码。 详细信息可以 学习西岸贤
大佬的Python中类的介绍及使用((63条消息) Python中类的介绍及使用_python类的使用_西岸贤的博客-CSDN博客)
二、问题分析
1.步骤
1.首先要读取相应的文件信息
a.找到文件路径
b.打开文件,读取每一行的文件信息
c.提取每一行信息中所包含的关键内容
2.根据要求,设置结构
a.发烧和体温相关,判断是否发烧和是否外出
b.判断后,应返回相关人员的姓名和联系方式
3.程序结构和算法设计
a.整体以类的结构来写,需要写一个关键词提取的父类和一个条件判断的子类
b.文件内容的处理采用一行一行的刷新方式,先处理第一行看是否满足条件在处理第二 行,看是否满足条件。
2.程序如下
代码如下(示例):
import linecache # 导入类函数linecache,获取某一行的文本 path = r'zy.txt' # 文件路径 with open(path, 'rb') as f: # 获取文件行数cent cnt = 0 for line in f: cnt = cnt + 1 class User: """定义用户的类""" def __init__(self, lj): # 这里的lj,是从子类中引入的 """初始化属性""" self.lj = lj def get_name(self, i): # 获取信息需要根据相应的文件 a = linecache.getline(self.lj, i) x = a[:3] x = x.replace("-", "") # 取消文本中的格式 return x def get_tem(self, i): a = linecache.getline(self.lj, i) x = a[5:9] x = x.replace("-", "") return x def get_out(self, i): a = linecache.getline(self.lj, i) x = a[11:13] x = x.replace("-", "") return x def get_ad(self, i): a = linecache.getline(self.lj, i) x = a[16:] x = x.replace("-", "") return x class Administrator(User): # 定义的子类,其中用到类的继承 def __init__(self, lj, h): # 从外部引入变量 super().__init__(lj) # 向父类传递变量 self.lj = lj self.h = h def fa_shao(self): print('发烧人员有' + ':' + ' ') i = 0 while i < self.h + 1: if self.get_tem(i) >= str(37.5): print(self.get_name(i) + self.get_ad(i)) i += 1 def wai_chu(self): print('外出人员有' + ':' + ' ') i = 1 while i < self.h + 1: if self.get_out(i) == '外出': print(self.get_name(i) + self.get_ad(i)) i += 1 m = Administrator(path, cnt) # 类的调用 m.wai_chu() m.fa_shao()
运行结果