courses=[]
students=[]
grades=[]
d=dict(A=10,AB=9,B=8,BC=7,C=6,CD=5,D=4,AA=0)
inp=input()
while True:
if inp == 'Courses':
inp = input()
while inp != 'Students':
courses.append(inp)
inp = input()
elif inp == 'Students':
inp = input()
while inp != 'Grades':
students.append(inp)
inp = input()
elif inp == 'Grades':
inp = input()
while inp != 'EndOfInput':
grades.append(inp)
inp = input()
elif inp == 'EndOfInput':
break
else:
break
def split2(l):
l=l.split('~')
return l
s_courses=[]
s_students=[]
s_grades=[]
for item in courses:
s_courses.append(split2(item))
for item in students:
s_students.append(split2(item))
for item in grades:
s_grades.append(split2(item))
for item in s_grades:
item[-1]=d[item[-1]]
result=[]
for item in s_students:
stu_grades_avg=0
stu_grades_sum=0
count=0
for x in s_grades:
if item[0]==x[3]:
count=count+1
stu_grades_sum=stu_grades_sum+x[-1]
stu_grades_avg=round(stu_grades_sum/count,2)
result.append([item[0],item[1],str(stu_grades_avg)])
def rn(l):
return l[0]
result.sort(key=rn)
result1=[]
for item in result:
z=('~').join(item)
result1.append(z)
for item in result1:
print (item)
students=[]
grades=[]
d=dict(A=10,AB=9,B=8,BC=7,C=6,CD=5,D=4,AA=0)
inp=input()
while True:
if inp == 'Courses':
inp = input()
while inp != 'Students':
courses.append(inp)
inp = input()
elif inp == 'Students':
inp = input()
while inp != 'Grades':
students.append(inp)
inp = input()
elif inp == 'Grades':
inp = input()
while inp != 'EndOfInput':
grades.append(inp)
inp = input()
elif inp == 'EndOfInput':
break
else:
break
def split2(l):
l=l.split('~')
return l
s_courses=[]
s_students=[]
s_grades=[]
for item in courses:
s_courses.append(split2(item))
for item in students:
s_students.append(split2(item))
for item in grades:
s_grades.append(split2(item))
for item in s_grades:
item[-1]=d[item[-1]]
result=[]
for item in s_students:
stu_grades_avg=0
stu_grades_sum=0
count=0
for x in s_grades:
if item[0]==x[3]:
count=count+1
stu_grades_sum=stu_grades_sum+x[-1]
stu_grades_avg=round(stu_grades_sum/count,2)
result.append([item[0],item[1],str(stu_grades_avg)])
def rn(l):
return l[0]
result.sort(key=rn)
result1=[]
for item in result:
z=('~').join(item)
result1.append(z)
for item in result1:
print (item)
Comments
Post a Comment