import random
import copy
class student:
def init(self, name, korean, math, english):
self.name = name
self.korean = korean
self.math = math
self.english = english
def talk(self):
print('이름',self.name)
print('국어 점수 ', self.korean)
print('수학 점수', self.math)
print('영어 점수 ', self.english)
cnt = 0
max = 0
max2 = 0
av = 0
mz = 0
mx = 0
mc = 0
sum = 0
sun = 0
sub = 0
classroom = []
date = []
FN = ['김', '이', '박', '최', '정', '강', '조', '윤']
NE = ['민준', '도윤', '예준', '시우', '주원', '지호']
# 이름 중복 확인
for i in range(20):
fn = FN[random.randint(0, len(FN) - 1)]
name = NE[random.randint(0, len(NE) - 1)]
date.append(fn + name)
date.sort()
backup = copy.deepcopy(date)
temp = None
check = []
number = 1
for i in range(len(date)):
if backup.count(backup[i]) > 1:
if temp == None:
temp = date[i]
date[i] = date[i] + '_' + str(number)
number += 1
check.append('1 ')
elif date[i] == date[i - 1].split('_')[0]:
date[i] = date[i] + '_' + str(number)
number += 1
check.append('2 ')
elif date[i] != date[i - 1].split('_')[0]:
number = 1
temp = date[i]
date[i] = date[i] + '_' + str(number)
number += 1
check.append('3 ')
else:
check.append('4 ')
else:
check.append('0 ')
for i in range(20):
# 과목 점수
mn = random.randint(0, 100)
if cnt < mn:
cnt = mn
mb = random.randint(0, 100)
if max < mb:
max = mb
mv = random.randint(0, 100)
if max2 < mv:
max2 = mv
v = student(date[i],mn, mb, mv)
classroom.append(v)
v.talk()
print()
sum = sum + mn
sun = sun + mb
sub = sub + mv
if cnt == mn:
mz = date[i]
if max == mb:
mx = date[i]
if max2 == mv:
mc = date[i]
print('----------정답----------')
print()
print('국어 일등:',cnt,end=' ')
print(mz)
print('수학 일등:',max,end=' ')
print(mx)
print('영어 일등:',max2,end=' ')
print(mc)
print()
av = (cnt+max+max2)/3
print('국어 평균 점수:', sum/20)
print('수학 평균 점수:', sun/20)
print('영어 평균 점수:', sub/20)
print('전체 과목 평균 점수:', av)