声明!
通过学习 泷羽sec的个人空间-泷羽sec个人主页-哔哩哔哩视频,做出的文章,如涉及侵权马上删除文章,笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负.
文章为个人学习笔记。
结果
# 函数用于添加学生信息
xue_sheng_zi_dian = {}
# 添加学生的id,姓名,成绩
def add_xue_sheng(zi_dain,xue_shen_id,name,grade):
if xue_shen_id in zi_dain:
print("学号已存在")
else:
# 使用字典嵌套
student = {'name': name, 'grade': grade}
# student为xue_shen_id的值
zi_dain[xue_shen_id] = student
print("学生信息已添加")
# 函数用于显示所有学生信息
def show_all_students(zi_dain):
for xue_shen_id, student in zi_dain.items():
print(f"学号:{xue_shen_id},姓名:{student['name']},成绩:{student['grade']}")
# 查找学生成绩
def find_student(zi_dain,xue_shen_id):
if xue_shen_id in zi_dain:
student = zi_dain[xue_shen_id]
print(f"学号:{xue_shen_id},姓名:{student['name']},成绩:{student['grade']}")
else:
print("学号不存在")
# 修改学生成绩
def modify_student(zi_dain,xue_shen_id,new_grade):
if xue_shen_id in zi_dain:
student = zi_dain[xue_shen_id]
student['grade'] = new_grade
print("学生成绩已修改")
else:
print("学号不存在")
# 删除学生成绩
def delete_student(zi_dain,xue_shen_id):
if xue_shen_id in zi_dain:
del zi_dain[xue_shen_id]
print("学生成绩已删除")
else:
print("学号不存在")
# 插入学生成绩
def insert_student(zi_dain,xue_shen_id,name,grade):
if xue_shen_id in zi_dain:
print("学号已存在")
else:
name = input("请输入学生姓名:")
grade = float(input("请输入学生成绩:"))
student = {'name': name, 'grade': grade}
zi_dain[xue_shen_id] = student
print("学生信息已插入")
# 按平均分排列
def sort_by_average(zi_dain):
sorted_students = sorted(zi_dain.items(), key=lambda x: x[1]['grade'], reverse=True)
for xue_shen_id, student in sorted_students:
print(f"学号:{xue_shen_id},姓名:{student['name']},成绩:{student['grade']}")
# 显示学生高分,低分,平均分
def show_statistics(zi_dain):
if len(zi_dain) == 0:
print("没有学生数据")
else:
total_grade = sum(student['grade'] for student in zi_dain.values())
average_grade = total_grade / len(zi_dain)
highest_grade = max(student['grade'] for student in zi_dain.values())
lowest_grade = min(student['grade'] for student in zi_dain.values())
print(f"最高分:{highest_grade}")
print(f"最低分:{lowest_grade}")
print(f"平均分:{average_grade}")
def main():
while True:
# 打印菜单选项
print('*********************************')
print('-------欢迎使用学生成绩管理系统-------')
print('* 【1】输入学生成绩 *')
print('* 【2】显示学生数据 *')
print('* 【3】查找学生成绩 *')
print('* 【4】修改学生成绩 *')
print('* 【5】删除学生成绩 *')
print('* 【6】插入学生成绩 *')
print('* 【7】按平均分排列 *')
print('* 【8】给出高分,低分,平均分 *')
print('* 【0】退出管理系统 *')
print('*********************************')
choice = input("选择数字【】:")
# 输入内容
if choice == '1':
# 输入学生:学号,名字,成绩
student_id = input("请输入学生学号:")
name = input("请输入学生姓名:")
grade = float(input("请输入学生成绩:"))
# 加入学生的内容
add_xue_sheng(xue_sheng_zi_dian,student_id,name,grade)
# 显示所有学生信息
elif choice == '2':
# 显示统计数据
show_all_students(xue_sheng_zi_dian)
# 查找学生成绩
elif choice == '3':
student_id = input("请输入要查找的学生学号:")
find_student(xue_sheng_zi_dian,student_id)
# 修改学生成绩
elif choice == '4':
student_id = input("请输入要修改的学生学号:")
new_grade = float(input("请输入新的成绩:"))
modify_student(xue_sheng_zi_dian,student_id,new_grade)
# 删除学生成绩
elif choice == '5':
student_id = input("请输入要删除的学生学号:")
delete_student(xue_sheng_zi_dian,student_id)
# 插入学生成绩
elif choice == '6':
student_id = input("请输入要插入的学生学号:")
insert_student(xue_sheng_zi_dian,student_id,name,grade)
# 按平均分排列
elif choice == '7':
sort_by_average(xue_sheng_zi_dian)
# 显示学生高分,低分,平均分
elif choice == '8':
show_statistics(xue_sheng_zi_dian)
# 退出管理系统
elif choice == '0':
print("感谢使用学生成绩管理系统,再见!")
break
else:
print("输入错误,请重新输入!")
if __name__ == '__main__':
main()

被折叠的 条评论
为什么被折叠?



