class Student:
def __init__(self, name: str, age: int, tel: str, study_id: str):
self.name = name
self.age = age
self.tel = tel
self.study_id = study_id
def __repr__(self):
return str(self.__dict__)[1:-1]+'\n'
class StudentManager:
def __init__(self, name: str, max_count: int):
# 学号生成器
self.id_creater = (name + str(x).zfill(len(str(max_count))) for x in range(max_count))
self.all_students = []
def add_student(self):
while True:
# 收集学生信息
name = input('姓名:')
age = int(input('年龄:'))
tel = input('电话:')
stu_id = next(self.id_creater)
# 创建学生对象
stu = Student(name, age, tel, stu_id)
self.all_students.append(stu)
print('===添加成功!===')
print('1.继续\n2.返回')
value = input('请选择(1-2):')
if value != '1':
break
def find_student(self):
while True:
print('1.查看所有学生\n2.按姓名查找学生\n3.按学号查找学生\n4.返回')
value = input('请选择(1-4):')
if value == '1':
# 查看所有
print(self.all_students)
elif value == '2':
# 按姓名查找
is_find = False
find_name = input('需要查找的学生姓名:')
for stu in self.all_students:
if stu.name == find_name:
is_find = True
print(stu)
if not is_find:
print('没有找到该学生!')
elif value == '3':
# 3.按学号查找
find_id = input('请输入需要查找的学生学号:')
for stu in self.all_students:
if stu.study_id == find_id:
print(stu)
break
else:
print('没有该学生!')
else:
break
def del_student(self):
while True:
print('1.按姓名删除\n2.按学号删除\n3.返回')
value = input('请选择(1-3):')
if value == '1':
# 按姓名删除
del_name = input('请输入要删除的学生的姓名:')
del_stus = []
for stu in self.all_students:
if stu.name == del_name:
del_stus.append(stu)
for index in range(len(del_stus)):
stu = del_stus[index]
print(index, stu)
print('q 返回上一层')
value = input('请输入要删除的学生对应的标号(q是退出):')
if value == 'q':
continue
else:
del_stu = del_stus[int(value)]
self.all_students.remove(del_stu)
print('删除成功!')
elif value == '2':
# 按学号删除
pass
else:
break
def update_student(self):
pass
def show_page(self):
"""展示主页"""
while True:
page = """
====================================
🌺🌺欢迎来到千锋学生管理系统🌺🌺
♥ 1. 添加学生
♥ 2. 查看学生
♥ 3. 修改学生信息
♥ 4. 删除学生
♥ 5. 退出
======================================
"""
print(page)
value = input('请选择(1-5):')
if value == '1':
# 添加学生
self.add_student()
elif value == '2':
# 查看学生
self.find_student()
elif value == '3':
# 修改学生信息
pass
elif value == '4':
# 删除学生
self.del_student()
else:
exit()
def main():
sy = StudentManager('qianfeng', 5000)
sy.show_page()
if __name__ == '__main__':
main()
day16总结(学生管理系统)
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...