# ----------Du lieu import pandas as pd STT=[] listTen=[] listToan=[] listLy=[] listHoa=[] #----------Ham def nhapLieu(n): for x in range (1,n+1): STT.append('sv'+str(x)) listTen.append(input('Moi Nhap Ten :')) listToan.append(int(input('Moi Nhap Diem Toan :'))) listLy.append(int(input('Moi Nhap Diem Ly :'))) listHoa.append(int(input('Moi Nhap Diem Hoa :'))) def trungbinhTLH(df): diemTB=(df['Toan']+df['Ly']+df['Hoa'])/3 return diemTB def maxTLH(df): maxToan=max(df['Toan']) maxLy=max(df['Ly']) maxHoa=max(df['Hoa']) return [maxToan,maxLy,maxHoa] def minTLH(df): minToan=min(df['Toan']) minLy=min(df['Ly']) minHoa=min(df['Hoa']) return [minToan,minLy,minHoa] def lonNhiTLH(df): tempToan=list(df['Toan']) tempLy=list(df['Ly']) tempHoa=list(df['Hoa']) tempToan.sort() tempLy.sort() tempHoa.sort() return[tempToan[-2],tempLy[-2],tempHoa[-2]] def lonBaTLH(df): tempToan=list(df['Toan']) tempLy=list(df['Ly']) tempHoa=list(df['Hoa']) tempToan.sort() tempLy.sort() tempHoa.sort() return[tempToan[-3],tempLy[-3],tempHoa[-3]] #----------Main print("Nhap lieu Sinh vien") n=int(input("Nhap So Luong Sinh vien")) nhapLieu(n) tempDict={'STT':STT,'Ten':listTen,'Toan':listToan,'Ly':listLy,'Hoa':listHoa} df= pd.DataFrame(tempDict) df #-----------Diem Trung Binh TLH diemTB=trungbinhTLH(df) df['DiemTB']=diemTB print(df) #----------Max Toan Ly Hoa lonNhatTLH=maxTLH(df) tempMaxDict={'STT':'Max','Toan':lonNhatTLH[0],'Ly':lonNhatTLH[1],'Hoa':lonNhatTLH[2]} maxDF= pd.DataFrame(tempMaxDict,index=[n]) df1=pd.concat([df,maxDF]) df1 #---------Min Toan Ly Hoa nhoNhatTLH=minTLH(df) tempMinDict={'STT':'Min','Toan':nhoNhatTLH[0],'Ly':nhoNhatTLH[1],'Hoa':nhoNhatTLH[2]} minDF= pd.DataFrame(tempMinDict,index=[n+1]) df2=pd.concat([df1,minDF]) df2 #---------Lon nhi nhoNhi=lonNhiTLH(df) nhoNhiDict={'STT':'Lon Nhi','Toan':nhoNhi[0],'Ly':nhoNhi[1],'Hoa':nhoNhi[2]} nhoNhiDF= pd.DataFrame(nhoNhiDict,index=[n+2]) df3=pd.concat([df2,nhoNhiDF]) df3 #---------Lon ba nhoBa=lonBaTLH(df) nhoBaDict={'STT':'Lon Ba','Toan':nhoBa[0],'Ly':nhoBa[1],'Hoa':nhoBa[2]} nhoBaDF= pd.DataFrame(nhoBaDict,index=[n+3]) df4=pd.concat([df3,nhoBaDF]) df4 #---------Xoa NaN va Set up STT lam Index df4=df4.fillna(' ') df4=df4.set_index('STT') df4