Python实现学生信息管理
- 共包括四个模块,每个模块负责不同的工作
ui.py
中包含菜单和功能信息的联系
bll.py
中实现学生信息的增删查改,文件读取导出,学生分数排序等操作
main.py
调用菜单,model.py
定义学生的基本信息构成
model.py
class StudentModel:
def __init__(self, id, name, age, score, item):
self.id = id
self.name = name
self.age = age
self.score = score
self.item = item
sm = StudentModel('1', '张三', '19', '90', '1')
bll.py
from StudentMangementSystem.model import sm
class StudentMangerController:
new_List = []
newList = []
def show_student_infile(self):
f = open('E:\\Python\\Test\\StudentMangementSystem\\student_information.txt', 'r')
content = f.read()
print('当前文件中内容为:')
print('----------------------')
print(content)
def output_student_inlist(self):
self.newList.clear()
newDict = {
'学号': '20194051120', '姓名': 'yst', '年龄': '19', '分数': '90', '----------------------': ''}
with open('E:\\Python\\Test\\StudentMangementSystem\\student_information.txt', 'r') as f:
i = 0
for line in f:
splitLine = line.split()
newDict[str(splitLine[0])] = ",".join(splitLine[1:])
i = i + 1
if i % 5 == 0:
del newDict['----------------------']
self.newList.append(newDict)
newDict = {
}
for i in self.newList:
i['学号'] = int(i['学号'])
i['年龄'] = int(i['年龄'])
i['分数'] = int(i['分数'])
print('成功读取到列表,内容如下')
for i in self.newList:
print(i)
smc.new_List = self.newList
def test_input_id(self):
try:
sm.id = int(input('请输入学号:'))
except ValueError:
print('输入错误,请输入正确的学号')
smc.test_input_id()
return sm.id
def test_input_age(self):
try:
sm.age = int(input('请输入年龄:'))
if sm.age < 10 or sm.age > 30:
print('请输入正确的年龄:')
smc.test_input_age()
except ValueError:
print('输入错误,请输入正确的年龄')
smc.test_input_age()
return sm.age
def test_input_score(self):
try:
sm.score = int(input('请输入分数:'))
if sm.score < 0 or sm.score > 100:
print('请输入正确的分数:')
smc.test_input_score()
except ValueError:
print('输入错误,请输入正确的分数')
smc.test_input_score()
return sm.score
def add_student(self):
smc.test_input_id()
global new_List
for i in smc.new_List:
if sm.id == i['学号&