# Object - Oriented Programming
# CLASS DEFINITION
# 1. Material - Variable
# 2. Function - Function
# class student:
# def init(self, kor, eng, math):
# print('Initialize')
# self.kor = kor
# self.eng = eng
# self.math = math
#
# def p(self, a, b):
# return a+b
# def trainingKor(self):
# print('Now, I Learn a Korean.')
#
# def trainingEng(self):
# print('Now, I Learn a English')
#
# classroom = []
# mrPark = student(90, 80, 50)
# classroom.append(mrPark)
#
# mrLee = student(100, 20, 100)
# classroom.append(mrLee)
#
# classroom[0]
# x = input() # input << Object
'''
학생 정보 관리 프로그램
10명의 학생 정보가 입력됩니다.
1. 이름은 성 리스트, 이름 리스트(각 10개)를 만든 뒤 random 을 활용하여 조합해서 적용하기
2. 성적은 국어, 수학, 영어 3개이며, 각각 중간, 기말, 수행으로 나뉘어짐(비율은 4:4:2)
3. 각 과목별 랭크업을 해줄 수 있는 함수가 필요함
4. 전체 평균(학생마다)을 자동 저장하도록 함
'''
# class student:
# class classroom:
# def init(self):
# self.member=[]
#
# x=[]
# y=[]
# surname=[]
# name=[]
# kor=[]
# kor1=[]
# ka=[]
# kb=[]
# kc=[]
# mat=[]
# mat1=[]
# ma=[]
# mb=[]
# mc=[]
# eng=[]
# eng1=[]
# ea=[]
# eb=[]
# ec=[]
# ave=[]
# for i in range(10):
# print('성 :',end=' ')
# surname.append(input())
# print('이름 :', end=' ')
# name.append(input())
# print('<국어 성적>')
# print('중간고사 :', end=' ')
# ka.append(input())
# print('기말고사 :', end=' ')
# kb.append(input())
# print('수행평가 :', end=' ')
# kc.append(input())
# print('<수학 성적>')
# print('중간고사 :', end=' ')
# ma.append(input())
# print('기말고사 :', end=' ')
# mb.append(input())
# print('수행평가 :', end=' ')
# mc.append(input())
# print('<영어 성적>')
# print('중간고사 :', end=' ')
# ea.append(input())
# print('기말고사 :', end=' ')
# eb.append(input())
# print('수행평가 :', end=' ')
# ec.append(input())
# for i in range(10):
# kor.append(float(ka[i])*0.4+float(kb[i])*0.4+float(kc[i])*0.2)
# kor1.append(kor[i])
# mat.append(float(ma[i])*0.4+float(mb[i])*0.4+float(mc[i])*0.2)
# mat1.append(mat[i])
# eng.append(float(ea[i])*0.4+float(eb[i])*0.4+float(ec[i])*0.2)
# eng1.append(eng[i])
# ave.append((float(kor[i])+float(mat[i])+float(eng[i]))/3)
# print('<학생별 평균성적(국어:수학:영어=1:1:1)>')
# for i in range(10):
# print('%s'%(surname[i]),'%s'%(name[i]),sep='',end=' : ')
# print('%.2f' %(ave[i]))
# def rank(k):
# kor1.sort()
# mat1.sort()
# eng1.sort()
# if k==1 :
# kor1.sort(reverse=True)
# for j in range(10):
# for i in range(10):
# if kor1[j]==kor[i]:
# if j>0 and kor1[j-1]==kor1[j]:
# continue
# print('%d등 : %s%s (국어) %.2f (수학) %.2f (영어) %.2f'%(int(j)+1,surname[i],name[i],kor1[j],mat[i],eng[i]))
# else :
# continue
# elif k==2 :
# mat1.sort(reverse=True)
# for j in range(10):
# for i in range(10):
# if mat1[j]==mat[i]:
# if j>0 and mat1[j-1]==mat1[j]:
# continue
# print('%d등 : %s%s (국어) %.2f (수학) %.2f (영어) %.2f'%(int(j)+1,surname[i],name[i],kor[i],mat1[j],eng[i]))
# else :
# continue
# elif k==3 :
# eng1.sort(reverse=True)
# for j in range(10):
# for i in range(10):
# if eng1[j]==eng[i]:
# if j>0 and eng1[j-1]==eng1[j]:
# continue
# print('%d등 : %s%s (국어) %.2f (수학) %.2f (영어) %.2f'%(int(j)+1,surname[i],name[i],kor[i],mat[i],eng1[j]))
# else :
# continue
# else :
# return '<<감사합니다>>'
# return '다시 정렬하고 싶다면 과목을 선택하세요 (숫자만 입력/지정 번호가 아닌 경우 종료됨) : '
# print('<정렬(과목별/내림차순)>')
# print('(1) 국어 (2) 수학 (3) 영어')
# print('과목을 선택하세요(숫자만 입력) :',end=' ')
# while True:
# n=int(input())
# if n==1 or n==2 or n==3:
# print(rank(n))
# else :
# print(rank(n))
# break
# import random
# name=['Anne','Becky','Chris','Daisy','Eva','Flora','Greg','Hans','Ian','James']
# surname=['K.','L.','M.','N.','O.','P.','Q.','R.','S.','T.']
# point=[]
# for i in range(101):
# for j in range(100):
# k = int(i)+int(j)/100
# point.append(k)
# n1 = random.sample(name,10)
# n2 = random.sample(surname,10)
# mkor = [random.choice(point) for a in range(10)]
# mmat = [random.choice(point) for b in range(10)]
# meng = [random.choice(point) for c in range(10)]
# fkor = [random.choice(point) for d in range(10)]
# fmat = [random.choice(point) for e in range(10)]
# feng = [random.choice(point) for f in range(10)]
# pkor = [random.choice(point) for g in range(10)]
# pmat = [random.choice(point) for h in range(10)]
# peng = [random.choice(point) for i in range(10)]
# n=[]
# kor=[]
# mat=[]
# eng=[]
# per=[]
# x=float()
# y=float()
# z=float()
# w=float()
# for i in range(10):
# x = 0.4 * (int(mkor[i])+int(fkor[i])+int(pkor[i])/2)
# y = 0.4 * (int(mmat[i]) + int(fmat[i]) + int(pmat[i])/2)
# z = 0.4 * (int(meng[i]) + int(feng[i]) + int(peng[i])/2)
# w = (x + y + z)/3
# kor.append(x)
# mat.append(y)
# eng.append(z)
# per.append(w)
# n.append([n1[i],n2[i],kor[i],mat[i],eng[i],per[i]])
#
# for i in range(10):
# print('[NAME] %s %s [KOR] %.2f [MAT] %.2f [ENG] %.2f [AVE] %.2f' %(n[i][0],n[i][1],n[i][2],n[i][3],n[i][4],n[i][5]))
# print()
#
# def rank(k):
# if k==1 :
# n.sort(key=lambda n: n[2], reverse=True)
# for i in range(10):
# print('#%d [NAME] %s %s [KOR] %.2f [MAT] %.2f [ENG] %.2f [AVE] %.2f' % (
# i + 1, n[i][0], n[i][1], n[i][2], n[i][3], n[i][4], n[i][5]))
# print()
# return "FOR MORE SORT, ENTER ONLY ONE NUMBER : (0) STOP (1) KOR (2) MAT (3) ENG (4) AVE"
# elif k==2 :
# n.sort(key=lambda n: n[3], reverse=True)
# for i in range(10):
# print('#%d [NAME] %s %s [KOR] %.2f [MAT] %.2f [ENG] %.2f [AVE] %.2f' % (
# i + 1, n[i][0], n[i][1], n[i][2], n[i][3], n[i][4], n[i][5]))
# print()
# return "FOR MORE SORT, ENTER ONLY ONE NUMBER : (0) STOP (1) KOR (2) MAT (3) ENG (4) AVE"
# elif k==3 :
# n.sort(key=lambda n: n[3], reverse=True)
# for i in range(10):
# print('#%d [NAME] %s %s [KOR] %.2f [MAT] %.2f [ENG] %.2f [AVE] %.2f' % (
# i + 1, n[i][0], n[i][1], n[i][2], n[i][3], n[i][4], n[i][5]))
# print()
# return "FOR MORE SORT, ENTER ONLY ONE NUMBER : (0) STOP (1) KOR (2) MAT (3) ENG (4) AVE"
# elif k==4 :
# n.sort(key=lambda n: n[2], reverse=True)
# for i in range(10):
# print('#%d [NAME] %s %s [KOR] %.2f [MAT] %.2f [ENG] %.2f [AVE] %.2f' % (
# i + 1, n[i][0], n[i][1], n[i][2], n[i][3], n[i][4], n[i][5]))
# print()
# return "FOR MORE SORT, ENTER ONLY ONE NUMBER : (0) STOP (1) KOR (2) MAT (3) ENG (4) AVE"
# elif k==0 :
# return "THANK YOU"
#
# else :
# print("WRONG KEY ENTERED")
# print()
# return "FOR MORE SORT, ENTER ONLY ONE NUMBER : (0) STOP (1) KOR (2) MAT (3) ENG (4) AVE"
#
# print("ENTER ONLY ONE NUMBER : (0) STOP (1) KOR (2) MAT (3) ENG (4) AVE")
# while(True):
# print('>>',end=' ')
# t=int(input())
# print(rank(t))
# if (t==0) :
# break
import random
class student:
def init(self, name, height, weight, kor, eng, math):
self.name = name
self.height = height
self.weight = weight
self.kor = kor
self.eng = eng
self.math = math
self.avg = (self.kor + self.eng + self.math) / 3
def viewAvg(self):
print(self.name + 'is' + str(self.avg))
name=['Anne','Becky','Chris','Daisy','Eva','Flora','Greg','Hans','Ian','James']
class classroom:
def init(self):
self.members = []
self.rank = []
def calRANK(self):
self.rank.sort(key=lambda rank:rank[3],reverse=True)
first = classroom()
for i in range(10):
pickName = random.choice(name)
height = random.randint(150, 200)
weight = random.randint(50, 150)
kor = random.randint(0, 101)
eng = random.randint(0, 101)
math = random.randint(0, 101)
avg = (kor + eng + math)/3
x = student(pickName, height, weight, kor, eng, math)
first.members.append(x)
first.rank.append(x)
for i in range(10) :
print(first.rank[i].name,end=' ')
print(first.rank[i].height, end=' ')
print(first.rank[i].weight, end=' ')
print(first.rank[i].kor, end=' ')
print(first.rank[i].eng, end=' ')
print(first.rank[i].math)