python完成一个学生信息管理系统
时间: 2023-12-15 22:31:23 浏览: 23
以下是两个Python学生信息管理系统的例子:
1.面向对象的学生信息管理系统
```python
# Student.py
class Student(object):
def __init__(self, sName, sAge, sNumber, tele_num):
self.name = sName
self.age = sAge
self.number = sNumber
self.tele_num = tele_num
# main.py
from Student import Student
class StudentManageSystem(object):
def __init__(self):
self.students = []
def add_student(self, student):
self.students.append(student)
def remove_student(self, student):
self.students.remove(student)
def modify_student(self, student, new_name, new_age, new_number, new_tele_num):
student.name = new_name
student.age = new_age
student.number = new_number
student.tele_num = new_tele_num
def search_student(self, name):
for student in self.students:
if student.name == name:
return student
return None
# 示例
s1 = Student('Tom', 18, '001', '123456789')
s2 = Student('Jerry', 19, '002', '987654321')
sms = StudentManageSystem()
sms.add_student(s1)
sms.add_student(s2)
print(sms.search_student('Tom').age) # 输出:18
```
2.文件版的学生信息管理系统
```python
import os
def add_student():
name = input('请输入学生姓名:')
age = input('请输入学生年龄:')
number = input('请输入学生学号:')
tele_num = input('请输入学生电话号码:')
with open('students.txt', 'a') as f:
f.write(f'{name},{age},{number},{tele_num}\n')
def modify_student():
name = input('请输入要修改信息的学生姓名:')
with open('students.txt', 'r') as f:
lines = f.readlines()
with open('students.txt', 'w') as f:
for line in lines:
if line.split(',')[0] == name:
new_name = input('请输入新的姓名:')
new_age = input('请输入新的年龄:')
new_number = input('请输入新的学号:')
new_tele_num = input('请输入新的电话号码:')
line = f'{new_name},{new_age},{new_number},{new_tele_num}\n'
f.write(line)
def remove_student():
name = input('请输入要删除信息的学生姓名:')
with open('students.txt', 'r') as f:
lines = f.readlines()
with open('students.txt', 'w') as f:
for line in lines:
if line.split(',')[0] != name:
f.write(line)
def search_student():
name = input('请输入要查询信息的学生姓名:')
with open('students.txt', 'r') as f:
lines = f.readlines()
for line in lines:
if line.split(',')[0] == name:
print(line.strip())
def show_all_students():
with open('students.txt', 'r') as f:
lines = f.readlines()
for line in lines:
print(line.strip())
def save_to_file():
if os.path.exists('students.txt'):
os.rename('students.txt', 'students_backup.txt')
with open('students.txt', 'w') as f:
pass
def read_from_file():
with open('students.txt', 'r') as f:
pass
# 示例
while True:
print('1.增加学生信息')
print('2.修改学生信息')
print('3.删除学生信息')
print('4.查询学生')
print('5.显示所有学生的信息')
print('6.将数据录入文件')
print('7.读取文件数据')
print('8.退出')
choice = input('请输入您的选择:')
if choice == '1':
add_student()
elif choice == '2':
modify_student()
elif choice == '3':
remove_student()
elif choice == '4':
search_student()
elif choice == '5':
show_all_students()
elif choice == '6':
save_to_file()
elif choice == '7':
read_from_file()
elif choice == '8':
break
```