本文为大家分享了python学生信息管理系统的初级实现代码,供大家参考,具体内容如下
学生信息管理项目,要求带操作界面,并完成每项操作:
+----------------------+
| 1)添加学生信息 |
| 2)显示所有学生的信息 |
| 3)删除学生信息 |
| 4)修改学生信息 |
| 5)按学生成绩高-低显示学生信息 |
| 6)按学生成绩低-高显示学生信息 |
| 7)按学生年龄高-低显示学生信息 |
| 8)按学生年龄低-高显示学生信息 |
| 9)退出 |
学生信息包括有:名字,年龄,成绩
注:按照正常的输入流程没有问题,还有待完善(完整版参见下一篇:Python项目:学生信息管理系统(完整版) )
详细代码如下:
# student_info.py
# 学生信息管理项目,要求带操作界面:
# +----------------------+
# | 1)添加学生信息 |
# | 2)显示所有学生的信息 |
# | 3)删除学生信息 |
# | 4)修改学生信息 |
# | 5)按学生成绩高-低显示学生信息 |
# | 6)按学生成绩低-高显示学生信息 |
# | 7)按学生年龄高-低显示学生信息 |
# | 8)按学生年龄低-高显示学生信息 |
# | 9)退出 |
def meun():
menu_info = '''+----------------------+
| 1)添加学生信息 |
| 2)显示所有学生的信息 |
| 3)删除学生信息 |
| 4)修改学生信息 |
| 5)按学生成绩高-低显示学生信息 |
| 6)按学生成绩低-高显示学生信息 |
| 7)按学生年龄高-低显示学生信息 |
| 8)按学生年龄低-高显示学生信息 |
| 9)退出 |
'''
print(menu_info)
# 以下二个函数用于sorted排序, key的表达式函数
def get_age(*l):
for x in l:
return x.get("age")
def get_score(*l):
for x in l:
return x.get("score")
# 1)添加学生信息
def add_student_info():
L = []
while True:
n = input("请输入名字:")
if not n: # 名字为空 跳出循环
break
a = int(input("请输入年龄:"))
s = int(input("请输入成绩:"))
info = {"name":n,"age":a,"score":s}
L.append(info)
return L
# 2)显示所有学生的信息
def show_student_info(student_info):
print("名字".center(8),"年龄".center(4),"成绩".center(4))
for info in student_info:
print(info.get("name").center(10),str(info.get("age")).center(4),str(info.get("score")).center(4))
# 3)删除学生信息
def del_student_info(student_info,del_name = ''):
if not del_name:
del_name = input("请输入删除的学生姓名:")
for info in student_info:
if del_name == info.get("name"):
return info
# 4)修改学生信息
def mod_student_info(student_info):
mod_name = input("请输入修改的学生姓名:")
for info in student_info:
if mod_name == info.get("name"):
a = int(input("请输入年龄:"))
s = int(input("请输入成绩:"))
info = {"name":mod_name,"age":a,"score":s}
return info
raise IndexError("学生信息不匹配,没有找到%s" %mod_name)
# 5)按学生成绩高-低显示学生信息
def score_reduce(student_info):
print("按学生成绩高-低显示")
mit = sorted(student_info ,key = get_score,reverse = True)
show_student_info(mit)
# 6)按学生成绩低-高显示学生信息
def score_rise(student_info):
print("按学生成绩低-高显示")
mit = sorted(student_info ,key = get_score)
show_student_info(mit)
# 7)按学生年龄高-低显示学生信息
def age_reduce(student_info):
print("按学生年龄高-低显示:")
mit = sorted(student_info ,key = get_age,reverse = True)
show_student_info(mit)
# 8)按学生年龄低-高显示学生信息
def age_rise(student_info):
print("按学生年龄低-高显示:")
mit = sorted(student_info ,key = get_age)
show_student_info(mit)
def main():
student_info = []
while True:
meun()
number = input("请输入选项:")
if number == '1':
student_info = add_student_info()
elif number == '2':
show_student_info(student_info)
elif number == '3':
student_info.remove(del_student_info(student_info))
elif number == '4':
try:
student = mod_student_info(student_info)
except Exception as e:
# 学生姓名不匹配
print(e)
else:
# 首先按照根据输入信息的名字,从列表中删除该生信息,然后重新添加该学生最新信息
student_info.remove(del_student_info(student_info,del_name = student.get("name")))
student_info.append(student)
elif number == '5':
score_reduce(student_info)
elif number == '6':
score_rise(student_info)
elif number == '7':
age_reduce(student_info)
elif number == '8':
age_rise(student_info)
elif number == '9':
break
else:
break
main()
程序效果如下:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“python学生信息管理系统(初级版)”评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新动态
2025年11月08日
2025年11月08日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]
