1.设计程序,将一组学生(5名学生为一组)相关信息(每个学生的信息包含:学号、姓名、性别和电话)以字典格式把相关内容写到“学生信息.txt”文件中,再将“学生信息.txt”文件内容全部读取显示。
学生的字典信息格式如下:
Stu_1={‘sno’:’202201’, ’name’:’张三’,
’sex’:’男’, ’tel’:’12345678901’}
2.设计并生成一个学生类(class),定义方法实现上题中“学生信息.txt”中学生信息的增加和查询功能。
# 将学生信息以字典格式写入文件
def write_stu_info_to_file(stu_list):
# 打开文件,设置写入模式
with open('学生信息.txt', 'w') as file:
# 循环学生信息列表,将每个学生的信息写入文件
for stu in stu_list:
file.write(str(stu) + '\n')
# 读取文件中的学生信息,并将其转化为字典格式
def read_stu_info_from_file():
# 创建空列表,用于存储读取到的学生信息
stu_list = []
# 打开文件,设置读取模式
with open('学生信息.txt', 'r') as file:
# 逐行读取文件内容
for line in file:
# 将每行文本转化为字典格式
stu = eval(line)
# 将学生信息添加到列表中
stu_list.append(stu)
# 返回读取到的学生信息列表
return stu_list
# 学生类
class Student:
# 构造函数,用于初始化学生信息
def init(self, sno, name, sex, tel):
self.sno = sno
self.name = name
self.sex = sex
self.tel = tel
# 增加学生信息的方法
def add_stu(self):
# 将学生信息以字典格式写入文件
write_stu_info_to_file([self])
# 查询学生信息的方法
def query_stu(self):
# 读取文件中的学生信息
stu_list = read_stu_info_from_file()
# 循环学生信息列表,查询指定学生信息
for stu in stu_list:
# 如果学号相同,则返回学生信息
if stu['sno'] == self.sno:
return stu
# 如果没有找到指定学号的学生,则返回空字典
return {}
# 测试代码
if name == 'main':
# 创建学生1对象
stu1 = Student('202201', '张三', '男', '12345678901')
# 增加学生1信息
stu1.add_stu()
# 创建学生2对象
stu2 = Student('202202', '李四', '女', '12345678902')
# 增加学生2信息
stu2.add_stu()
# 创建学生3对象
stu3 = Student('202203', '王五', '男', '12345678903')
# 增加学生3信息
stu3.add_stu()
# 查询学生1信息
print(stu1.query_stu())
# 查询学生2信息
print(stu2.query_stu())
# 查询学生3信息
print(stu3.query_stu())
可以先建立一个Student类
class student():
def __init__():
pass
然后建立一个小组列表
class student():
def __init__():
all_student=[]
再给列表五个学生
class student():
def __init__():
all_student=[]
for i in range(0,5):
all_student.append({‘sno’:’202201’, ’name’:’张三’,’sex’:’男’, ’tel’:’12345678901’})
最后可以直接用
file=open("学生信息.txt","w")
创建文件后再用
file.write(all_student)
和
file.read()
进行读写操作,也可以单独建立student类的方法。
参考:https://blog.csdn.net/qq_42276781/article/details/125525012
可以以学生的信息:学号、姓名、性别和电话等作为参数定义类student,连个方法read和write,基本就这么多功能