作业内容及笔记如下:
# 定义一个菜单函数
def menu():
print("**************************************************")
print("* 学生管理系统 *")
print("* 1. 添加新学生信息 *")
print("* 2. 通过学号修改学生信息 *")
print("* 3. 通过学号删除学生信息 *")
print("* 4. 通过姓名删除学生信息 *")
print("* 5. 通过学号查询学生信息 *")
print("* 6. 通过姓名查询学生信息 *")
print("* 7. 显示所有学生信息 *")
print("* 8. 退出系统 *")
print("**************************************************")
Stus = []
def Add_stu():
Add_sid = input('请输入新学生的sid:')
for sid in Stus:
if sid['sid'] == Add_sid:
print('该学生已存在,请重新输入!')
return '该学生添加失败!'#在for循环遍历中,如果我们加入if语句进行二次判断时,如果循环体只执行1次,结尾需要加return,超过1次的话return就加上else里面
else:
Add_name = input('请输入新学生的name:')
Add_age = input('请输入新学生的age:')
Add_gender = input('请输入新学生的gender:')
Stu = {'sid': Add_sid, 'name': Add_name, 'age': Add_age, 'gender': Add_gender}
Stus.append(Stu)
# print('新添加的学生的个人信息为:\n', Stu)
print(Stus)
print('该学生添加成功!')
return '该学生添加成功!'
def Alter_stuByID():
Alter_sid = input('请输入新学生的sid:')
for sid in Stus:
if sid['sid'] == Alter_sid:
Alter_name = input('请输入该学生的新name: ')
sid['name'] = Alter_name
Alter_age = input('请输入该学生的新age: ')
sid['age'] = Alter_age
Alter_gender = input('请输入该学生的新gender: ')
sid['gender'] = Alter_gender
print('该学生修改成功!')
# print(Stus)
return '该学生修改成功!'
else:
print('该学生信息不存在!')
return '该学生修改失败!'
def Del_stuByID():
Del_sid = input('请输入学生的sid:')
for sid in Stus:
if sid['sid'] == Del_sid:
Stus.remove(sid)
print(Stus)
print('该学生删除成功!')
return '该学生删除成功!'
else:
print('该学生信息不存在!')
return '该学生删除失败!'
def Del_allstuByNAME():
Del_name = input('请输入学生的name:')
exist_stu = []
for name in Stus:
if name['name'] == Del_name:
exist_stu.append(name)
if len(exist_stu) > 0:
for name in exist_stu:
Stus.remove(name)
print(f'名为{Del_name}的学生全部删成功!')
else:
print(f'成功删除{len(exist_stu)}个学生!')
return f'名为{Del_name}的学生全部删成功!'
else:
print('该学生信息不存在!')
return '该学生删除失败!'
def Query_stuByID():
Query_sid = input('请输入学生sid:')
for query in Stus:
if query['sid'] == Query_sid:
print('该学生信息查询成功,具体信息为:', query)
return '该学生信息查询成功!'
else:
print('该学生信息不存在!')
return '该学生信息查询失败!'
def Query_AllstuByNAME():
Query_AllNAME = input('请输入学生name:')
exist_stu = []
for query_All in Stus:
if query_All['name'] == Query_AllNAME:
exist_stu.append(query_All)
# print(exist_stu)
if len(exist_stu) > 0:
for query_All in exist_stu:
print(query_All)
return '查询成功!'
else:
print('查询失败!')
return '查询失败!'
def Show_Allstu():
for s in Stus:
print(s)
# return '查询成功!',在for循环体中执行return的话,只打印一次即遍历的首次结果
else:
return '查询成功!'
def start():
while True:
menu()
select_op = input("输入编号选择操作:")
if select_op == '1':
Add_stu()
elif select_op == '2':
Alter_stuByID()
elif select_op == '3':
Del_stuByID()
elif select_op == '4':
Del_allstuByNAME()
elif select_op == '5':
Query_stuByID()
elif select_op == '6':
Query_AllstuByNAME()
elif select_op == '7':
Show_Allstu()
elif select_op == '8':
print('退出系统成功!')
break
else:
print('输入有误,请重新输入!')
if __name__ == '__main__':
start()
"""
作业要求:
实现学生管理系统:
学生信息包含:
- 编号(sid), 姓名(name), 年龄(age), 性别(gender) 四个信息
- 每个学生信息使用字典形式保存
- 使用列表保存所有学生的信息
1. 实现菜单函数,输出下列信息,返回用户输入的编号,并进行输入校验。
print("****************************************")
print("* 学生管理系统 *")
print("* 1. 添加新学生信息 *")
print("* 2. 通过学号修改学生信息 *")
print("* 3. 通过学号删除学生信息 *")
print("* 4. 通过姓名删除学生信息 *")
print("* 5. 通过学号查询学生信息 *")
print("* 6. 通过姓名查询学生信息 *")
print("* 7. 显示所有学生信息 *")
print("* 8. 退出系统 *")
print("****************************************")
select_op = input("输入编号选择操作:")
2. 实现控制函数,用来控制菜单的输出与功能的选择,直到用户选择8,结束程序运行。
3. 实现添加学生函数,函数参数为编号,姓名,年龄,性别四个参数,返回是否添加成功的结果,要求编号不可重复。
4. 实现修改函数,参数为学号,如果学生存在,则进行修改,不存在输出提示,并返回是否修改成功
5. 实现删除函数,参数为学号,如果学生存在,则进行删除,不存在输出提示,并返回是否删除成功
6. 实现删除函数,参数为姓名,如果学生存在,则进行删除(同名学生全部删除),不存在输出提示,并返回是否删除成功
7. 实现查询函数,参数为学号,如果学生存在,则输出学生信息,不存在输出提示,并返回是否查询成功
8. 实现查询函数,参数为姓名,如果学生存在,则输出学生信息(同名学生全部输出),不存在输出提示,并返回是否删除成功
9. 实现函数,输出所有学生信息
"""
在此处键入或粘贴代码