python代码:建立如下的 学生信息文件 ,每行存入 学号、姓名、 性别、 身高等信息 ,存为student.txt文件 ,读此文件 ,调用 学生类中的所有函数,进行数据 维护后,重新存回到文件 student.txt中 。 1 杨勇 0 1.78 2 左千 1 1.64
时间: 2023-06-19 21:03:11 浏览: 109
下面是建立学生信息文件、读取文件、调用学生类中的函数、重新存回文件的Python代码:
```python
class Student:
def __init__(self, sid, name, gender, height):
self.sid = sid
self.name = name
self.gender = gender
self.height = height
def __str__(self):
return f'{self.sid}\t{self.name}\t{self.gender}\t{self.height:.2f}'
def change_name(self, new_name):
self.name = new_name
def change_gender(self, new_gender):
self.gender = new_gender
def change_height(self, new_height):
self.height = new_height
def read_student_file(file_path):
students = []
with open(file_path, 'r') as f:
lines = f.readlines()
for line in lines:
sid, name, gender, height = line.strip().split('\t')
student = Student(sid, name, gender, float(height))
students.append(student)
return students
def write_student_file(file_path, students):
with open(file_path, 'w') as f:
for student in students:
f.write(f'{student}\n')
file_path = 'student.txt'
students = read_student_file(file_path)
for student in students:
print(student)
student.change_name('新名字')
student.change_gender('新性别')
student.change_height(1.80)
write_student_file(file_path, students)
```
注意,我们在读取文件时,将每一行的信息按照`\t`进行切割,并且将身高转换为float类型。在写入文件时,我们调用了`Student`类的`__str__()`方法,将学生信息转换为字符串。
阅读全文