python学生成绩管理系统实验报告心得_学生成绩管理系统(python)的实现

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

python学生成绩管理系统实验报告心得_学生成绩管理系统(python)的实现_第1张图片

#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() #从主函数开始

你可能感兴趣的:(python学生成绩管理系统实验报告心得_学生成绩管理系统(python)的实现)