class scholar: def __init__(self,id,name,state,m_list): self.id=id self.name=name self.state=state self.m_list=m_list class scholar_res: def __init__(self): self.scholargrade=[] def fun1(self,arr,grade): for i in arr: d={} assign_grade="" total_marks=sum(i.m_list) p=int(round(total_marks/3)) if(p>=80): assign_grade="A" elif(p>=60 and p<80): assign_grade="B" elif(p>=50 and p<60): assign_grade="C" elif(p<50): assign_grade="D" if assign_grade.lower()==grade.lower(): d["ScholarId"]=i.id d["ScholarName"]=i.name.lower() d["TotalMarks"]=total_marks d["Grade"]=assign_grade d["State"]=i.state.lower() if(len(d)>0): self.scholargrade.append(d) #return self.scholargrade self.scholargrade=sorted(self.scholargrade,key= lambda x:x["TotalMarks"],reverse=False) if(len(self.scholargrade)>0): return self.scholargrade else: return None #print(self.scholargrade) def fun2(self,arr): li=[] for i in arr: li.append(i.state.lower()) li=list(set(li)) li.sort() # print(li) pf_list=[] for i in li: pas=0 f=0 for j in arr: if(j.state.lower()==i.lower()): assign_grade="" total_marks=sum(j.m_list) p=int(round(total_marks/3)) if(p>=80): assign_grade="A" elif(p>=60 and p<80): assign_grade="B" elif(p>=50 and p<60): assign_grade="C" elif(p<50): assign_grade="D" if assign_grade=="D": f+=1 else: pas+=1 #print(pas,f) pp=int(round(pas/(pas+f)*100)) fp=int(round(f/(pas+f)*100)) pf=[i,f"{pp}:{fp}"] pf_list.append(pf) #print(pf_list) if(len(pf_list)<=0): return None else: return pf_list arr=[] n=int(input()) for i in range(n): id=int(input()) name=input() state=input() s1=int(input()) s2=int(input()) s3=int(input()) m_list=[s1,s2,s3] arr.append(scholar(id,name,state,m_list)) grade=input() obj=scholar_res() lanj=obj.fun1(arr,grade) if lanj==None: print("No record Found") else: l=[] for i in range(len(lanj)-1,-1,-1): a=[] k=lanj[i] for i in k: a.append(k[i]) l.append(a) #print(l) for i in l: print(*i,sep=" ") banj=obj.fun2(arr) if banj==None: print("No recor") else: for i in banj: print(*i,sep=" ")