#!/usr/bin/env python
#coding:utf-8
__author__='guolimin'
'''
实现简单成绩管理系统
1、添加成绩 -> 添加界面
2、修改成绩
3、删除成绩
4、查看成绩(成绩排序:升序、降序)
5、平均成绩
通过字典中字典中字典实现增删改,找出所有的分数值进行操作再实现查,同样实现平均成绩
'''
print('----------------学生成绩管理系统------------------')
print ('\t\t\t\t1、添加成绩\n'
'\t\t\t\t2、修改成绩\n'
'\t\t\t\t3、删除成绩\n'
'\t\t\t\t4、查看成绩\n'
'\t\t\t\t5、及格率统计\n'
'\t\t\t\t6、退出系统')
print('----------------学生成绩管理系统------------------')
dic_score = {2014: {'张三': {'语文': 80, '数学': 84, '英语': 85}}, 2015: {'李四': {'语文': 85, '数学': 55, '英语': 60}}}
while 1:
jige=[]
input_num = int(input('请输入1-6进行操作:'))
if input_num ==1:
number =int(input('请输入学号:'))
name = input('请输入姓名:')
Ch =int(input('请输入语文成绩:'))
Ma = int(input('请输入数学成绩:'))
En = int(input('请输入英语成绩:'))
a,b=(number,),(name,)
f ,g,k=('语文',),'数学','英语'
dic1=dic_score.fromkeys(f, Ch)
dic1[g]=Ma
dic1[k]=En
dict2=dict.fromkeys(b, dic1)
dict3=dict.fromkeys(a, dict2)
dic_score.update(dict3)
print('该学生成绩添加成功!')
if input_num ==2:
number2=int(input('请输入学号:'))
if number2 in dic_score:
name2 = input('请输入姓名:')
print('请输入想修改的科目:\n1、语文\n2、数学\n3、英语\n4、退出修改')
while 1:
input_num2=int(input('请输入1-4进行操作:'))
if input_num2 ==1:
Ch2=int(input('请输入语文成绩:'))
dic_score[number2][name2]['语文'] =Ch2
print('成绩修改成功!')
continue
elif input_num2==2:
Ma2=int(input('请输入数学成绩:'))
dic_score[number2][name2]['数学']=Ma2
print('成绩修改成功!')
continue
elif input_num2==3:
En2 =int(input('请输入英语成绩:'))
dic_score[number2][name2]['英语']=En2
print('成绩修改成功!')
continue
elif input_num2==4:
print('谢谢使用修改系统!')
break
else:
print('你输入的学生还没成绩或者输入错误!')
if input_num ==3:
number3=int(input('请输入学号:'))
if number3 in dic_score:
del dic_score[number3]
print('成绩删除成功!')
else:
print('你输入的学生还没成绩或者输入错误!')
if input_num ==4:
l =[]
l4 =[]
o = []
l6 =[]
jige=[]
key_list = list(dic_score.keys())
values_list = list(dic_score.values())
for i in range(len(key_list)):
dict1 =dic_score[key_list[i]]
value = list(dict1.keys())
key_list2 =list(dict1.values())
dict4 = key_list2[0]
list4 = list(dict4.values())
sum = 0
for j in list4:
sum +=j
n =0
if j <60:
n +=1
per = 1-(n /3)
jige.append(per)
pin = sum //3
l4.append(pin)
l6.append(pin)
str2 = str(value[0]) + '的平均分为:'+str(pin)
o.append(str2)
str1 = str(value[0]) + '的总分为:'+ str(sum)
l.append(str1)
l1 =[]
for each in range(len(l)):
l1.append(int(l[each][-3:]))
lens2 =len(l1)
x=0
str3 = '学科总成绩降序排列为:'
while x
for li in range(len(l)):
m =max(l1)
if int(l[li][-3:])==m:
str3 = str3 +'\n'
str3 = str3 + str(l[li])
l1.remove(m)
x +=1
continue
else:
break
print(str3)
l3=[]
for each in range(len(l)):
l3.append(int(l[each][-3:]))
lens3 = len(l3)
q = 0
str4 = '学科总成绩升序排列为:'
while q
for li2 in range(len(l)):
m2= min(l3)
if int(l[li2][-3:])==m2:
str4=str4 + '\n'
str4=str4 + str(l[li2])
l3.remove(m2)
q +=1
continue
else:
break
print(str4)
l5 =l4
lens5=len(l5)
x=0
str5='学科平均绩降序排列为:'
while x < lens5:
for li in range(len(o)):
m5=max(l5)
if int(o[li][-2:]) == m5:
str5=str5 + '\n'
str5=str5 + str(o[li])
l5.remove(m5)
x+=1
continue
else:
x+=1
print(str5)
lens6=len(l6)
x=0
str6='学科平均绩升序排列为:'
while x < lens6:
for li in range(len(o)):
m6=min(l6)
if int(o[li][-2:]) == m6:
str6=str6 + '\n'
str6=str6 + str(o[li])
l6.remove(m6)
x+=1
continue
else:
break
print(str6)
if input_num==5:
jige=[]
key_list=list(dic_score.keys())
values_list=list(dic_score.values())
for i in range(len(key_list)):
dict1=dic_score[key_list[i]]
value=list(dict1.keys())
key_list2=list(dict1.values())
dict4=key_list2[0]
list4=list(dict4.values())
n = 0
for j in list4:
if j >=60:
n+=1
per=n / 3
jige.append(per)
sum2 =0
for each5 in jige:
sum2 +=each5
jige2 =sum2 /int(len(dic_score))
print('全体同学的及格率为:%.2f%%'%(jige2*100))
if input_num==6:
print('你已退出学生成绩管理系统,谢谢你的使用!')
break
一键复制
编辑
Web IDE
原始数据
按行查看
历史