Python成绩管理系统3
哎,前几天发的管理系统,我总是感觉功能没那么的实际,于是我就再改了一哈!希望你们不要烦哈 !
我就再加了一个增删改的功能,现在我感觉应该还行!
def Welcome():
print("欢迎使用成绩管理系统!")
print("在这里你可以查看同学的成绩!")
def firstmune():
print("1.增加同学信息")
print("2.删减同学信息")
print("3.修改同学信息")
print("4.查询同学信息")
print("5.退出")
def message():
print("1.语文")
print("2.数学")
print("3.英语")
def mune1():
print("1.显示数据")
print("2.查询成绩")
print("3.退出")
def mune2():
print("1.语文")
print("2.数学")
print("3.英语")
print("4.总分")
print("5.平均分")
print("6.总分排名")
print("7.退出")
def mune3():
print("1.成绩")
print("2.排名")
print("3.成绩和排名")
print("4.退出")
def GetData():
sum = []
f = open('D:/score.txt')
list = f.readlines()
for i in list[1:]:
if not i.isspace():
i = i.strip('\n')
i = i.split()
sum.append(i)
return sum
def Sumgrades(sum):
for i in sum:
i.append(int(i[2])+int(i[3])+int(i[4]))
return sum
def sort(sum):
grades=[]
for i in sum:
grades.append(int(i[5]))
grades.sort(reverse = True)
for j in range(len(sum)):
x = grades.index(int(sum[j][5]))
sum[j].append(x+1)
return sum
def ChineseSort(sum):
grades = []
for i in sum:
grades.append(int(i[2]))
grades.sort(reverse=True)
for j in range(len(sum)):
x = grades.index(int(sum[j][2]))
sum[j].append(x+1)
def MathSort(sum):
grades = []
for i in sum:
grades.append(int(i[3]))
grades.sort(reverse=True)
for j in range(len(sum)):
x = grades.index(int(sum[j][3]))
sum[j].append(x+1)
def EnglishSort(sum):
grades = []
for i in sum:
grades.append(int(i[4]))
grades.sort(reverse=True)
for j in range(len(sum)):
x = grades.index(int(sum[j][4]))
sum[j].append(x+1)
def Ranking(sum):
grades = []
newgrades = []
for i in sum:
grades.append(i[5])
grades.sort(reverse=True)
for i in range(len(sum)):
for j in range(len(grades)):
if sum[j][5] == grades[i]:
newgrades.append(sum[j])
break
return newgrades
def AddStudent(sum,list):
sum.append(list)
def ReduceStudent(sum,str):
for i in sum:
if str == i[1] or str == i[0]:
sum.remove(i)
break
def Revise(sum,str,n):
for i in sum:
if str == i[1] or str == i[0]:
y = eval(input("输入改入的成绩:"))
i[n+1] = y
Welcome()
sum1=GetData()
while 1:
firstmune()
x = eval(input("请输入您想执行的功能:"))
if x == 1:
x = input("请输入同学信息(以空格隔开):")
x = x.strip('\n')
x = x.split()
AddStudent(sum1,x)
elif x == 2:
x = input("请输入学号或者姓名:")
ReduceStudent(sum1,x)
elif x == 3:
x = input("请输入学号或者姓名:")
print("请输入您想修改的项目")
message()
y = eval(input("请输入:"))
Revise(sum1,x,y)
elif x == 4:
sum = Sumgrades(sum1)
sum = Ranking(sum)
sum = sort(sum)
ChineseSort(sum)
MathSort(sum)
EnglishSort(sum)
Ranking(sum)
while 1:
mune1()
x = eval(input("请输入:"))
if x==1:
print("{} {} {} {} {} {} ".format('姓名', '学号', '语文', '数学', '英语', '总分'))
for i in sum:
print("{} {} {} {} {} {} ".format(i[0],i[1],i[2],i[3],i[4],i[5]))
elif x == 2:
while 1:
mune2()
x = eval(input("请输入:"))
if x == 1:
x1 = input("输入学号或者姓名:")
while 1:
mune3()
x = eval(input("请输入选项:"))
for i in sum:
if i[0] == x1 or i[1] == x1:
if x == 1:
print("{}".format(i[2]))
print("加油,相信自己!")
elif x == 2:
print("{}".format(i[7]))
elif x == 3:
print("成绩为:{} 排名:第{}名".format(i[3], i[8]))
elif x != 4:
print("输入错误,请重新输入!")
elif x == 4:
continue
break
elif x == 2:
x1 = input("输入学号或者姓名:")
while 1:
mune3()
x = eval(input("请输入选项"))
for i in sum:
if i[0] == x1 or i[1] == x1:
if x == 1:
print("{}".format(i[3]))
print("加油,相信自己!")
elif x == 2:
print("{}".format(i[8]))
elif x == 3:
print("成绩为:{} 排名:第{}名".format(i[3],i[8]))
elif x != 4:
print("输入错误,请重新输入!")
elif x == 4:
continue
break
elif x == 3:
x1 = input("输入学号或者姓名:")
while 1:
mune3()
x = eval(input("请输入选项:"))
for i in sum:
if i[0] == x1 or i[1] == x1:
if x == 1:
print("{}".format(i[4]))
print("加油,相信自己!")
elif x == 2:
print("{}".format(i[9]))
elif x == 3:
print("成绩为:{} 排名:第{}名".format(i[3],i[8]))
elif x!=4:
print("输入错误,请重新输入!")
elif x == 4:
continue
break
elif x == 4:
x1 = input("输入学号或者姓名:")
for i in sum:
if i[0] == x1 or i[1] == x1:
print("{}".format(i[5]))
print("加油,相信自己!")
elif x == 5:
score = 0
x1 = input("输入学号或者姓名!")
for i in sum:
if i[0] == x1 or i[1] == x1:
score=(int(i[2])+int(i[3])+int(i[4]))/3
print("{:.2f}".format(score))
print("加油,相信自己!")
elif x == 6:
x1 = input("输入学号或者姓名!")
for i in sum:
if i[0] == x1 or i[1] == x1:
print("{}".format(i[6]))
print("加油,相信自己!")
elif x == 7:
break
else:
print("您输入的数字识别不了,请重新输入啊!")
elif x == 3:
break
else:
print("您输入的数字识别不了,请重新输入啊!")
elif x == 5:
break
else:
print("您输入有错误,请重新输入!")