python读取txt获得数据,形成学生这一对象,属性包含 学号、姓名、班级,同时当我输入学生的学号是能反馈他的姓名和班级
时间: 2024-09-17 17:04:59 浏览: 36
在Python中,你可以将读取的数据转换成字典或者其他自定义的对象结构,如你提到的学生对象。这里我们先假设你的txt文件格式是这样的,每行包含学号、姓名和班级信息,例如:
```
1001 张三 班级A
1002 李四 班级B
...
```
你可以创建一个`Student`类,并提供一个方法根据学号查找对应的学生信息:
```python
class Student:
def __init__(self, id, name, class_name):
self.id = id
self.name = name
self.class_name = class_name
@staticmethod
def from_line(line):
data = line.strip().split(' ')
return Student(int(data[0]), data[1], data[2])
def load_students_from_txt(file_path):
students = []
with open(file_path, 'r', encoding='utf-8') as f:
for line in f:
students.append(Student.from_line(line))
return students
# 获取所有学生
students = load_students_from_txt('students.txt')
# 根据学号查找学生
def find_student_by_id(id, student_list):
for student in student_list:
if student.id == id:
return student.name, student.class_name
return None, None
# 示例用法
search_id = int(input("请输入学号:"))
name, class_name = find_student_by_id(search_id, students)
if name:
print(f"学号 {search_id} 的学生叫 {name}, 在 {class_name} 班")
else:
print(f"未找到学号为 {search_id} 的学生")
```
这个示例中,首先从txt文件中读取数据并创建学生列表,然后提供了一个静态方法`find_student_by_id`,根据用户输入的学号查询相应的姓名和班级。
阅读全文