学生成绩管理系统python语言_学生成绩管理系统(python)的实现

学生成绩管理系统功能:增.删.改.查.排序.这五个部份组成.均由单独的函数完成.其中信息的存取均以字典形式表达.

#student_info.py

#插入学生信息

def  input_student():

infos=[]

while True:

n=input("请输入学生姓名:")

if not n:

break

a=int(input("请输入年龄:"))

s=int(input("请输入成绩:"))

d={'name':n,'age':a,'score':s} #d=dict(name=n,age=a,score=s)

infos.append(d)  #将字典数据添加到列表中

return infos

#显示信息

def output_student(L):

print("+------------+------------+------------+")

print("|    姓名    |    年龄    |    成绩    |")

print("+------------+------------+------------+")

for  d in L: #绑定字典

n=d['name']

a=d['age']

s=d['score']

n=str(n)

a=str(a) #将整型转换成字符串

s=str(s)

print("|"+n.center(12)+"|"+a.center(12)+"|"+s.center(12)+"|")

print("+------------+------------+------------+")

#删除信息

def delete_student(L):

name=input(print("请输入要删除的学生姓名:"))

i=0

while i

if L[i]['name']==name:

del L[i]

print("学生"+name+"删除成功")

return True

elif i>=len(L)-1:

print("学生"+name+"不存在")

return False

i+=1

#修改学生成绩

def modify_student_score(L):

n=input("请输入要修改的学生姓名:")

i=0

while i

if L[i]['name']==n:

L[i]['score']=input("请输入新成绩:")

print("修改成绩OK")

return True

elif i>=len(L)-1:

print(name+"学生不存在,不能修改")

return False

i+=1

#by学生成绩排序

def output_student_score_desc(L):

lis=sorted(L,key=lambda d:d['score'],reverse=True)

output_student(lis)

def output_student_score_asc(L):

lis=sorted(L,key=lambda d:d['score'],reverse=False)

output_student(lis)

#by学生年龄排序

def output_student_age_desc(L):

lis=sorted(L,key=lambda d:d['age'],reverse=True)

output_student(lis)

def output_student_age_asc(L):

lis=sorted(L,key=lambda d:d['age'],reverse=False)

output_student(lis)

#解释说明:

#sorted(iterable,key=None,reverse=False) 函数作用是将原可迭代对象排序,生成新的列表

#单步测试

# l=[]

# l+=input_student()

# output_student(l)

# menu.py

def show_menu():

print("+--------------------------------+")

print("| 1) 添加学生信息                |")

print("| 2) 查看学生信息                |")

print("| 3) 删除学生信息                |")

print("| 4) 修改学生成绩                |")

print("| 5) 按学生成绩高-低显示学生信息 |")

print("| 6) 按学生成绩低-高显示学生信息 |")

print("| 7) 按年龄成绩高-低显示学生信息 |")

print("| 8) 按年龄成绩低-高显示学生信息 |")

print("| q) 退出                        |")

print("+--------------------------------+")

#main.py

from menu import show_menu

from student_info import *

def main():

infos=[]

while  True:

show_menu()

s=input("请选择:")

if s=='q':

return #退出

elif s == '1':

infos += input_student()

# infos.extend(input_student())

elif s == '2':

output_student(infos)

elif s == '3':

delete_student(infos)

elif s=='4':

modify_student_score(infos)

elif s=='5':

output_student_score_desc(infos)

elif s=='6':

output_student_score_asc(infos)

elif s=='7':

output_student_age_desc(infos)

elif s=='8':

output_student_age_asc(infos)

main() #从主函数开始

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值