python/클래스

클래스 문제2

june__Park 2021. 3. 21. 04:42
class School:
    hakbuns = [1001, 1002, 1003, 1004, 1005]
    scores = [0, 0, 0, 0, 0]

mega = School()
size = len(mega.scores)

import random

# 문제1) scores배열에 1~100점 사이의 정수를 5개 저장
# 예   1) 87, 11, 92, 14, 47
i = 0
while i < 5:
    num = random.randint(1,100)

    cnt = 0
    for j in range(size):
        if mega.scores[j] == num:
            cnt = 1
            break
    if cnt == 1:
        continue

    mega.scores[i] = num
    i += 1

print(mega.scores)

# 문제2) 전교생의 총점과 평균 출력
# 예   2) 총점(251) 평균(50.2)
total = 0
for i in range(size):
    total += mega.scores[i]
ave = total/size
print("total(%d) average(%d)"%(total,ave))   


# 문제3) 성적이 60점 이상이면 합격. 합격생 수 출력
# 예   3) 2명
cnt = 0
for i in range(size):
    if mega.scores[i] >= 60:
        cnt += 1
print("합격자는 %d명"%cnt)


# 문제4) 인덱스를 입력받아 성적 출력
# 정답4) 인덱스 입력 : 1    성적 : 11점
idx = int(input("Input idx: "))
print("성적: ",mega.scores[idx])

# 문제5) 성적을 입력받아 인덱스 출력
# 정답5) 성적 입력 : 11        인덱스 : 1
sc = int(input("Input score: "))
idx = -1
for i in range(size):
    if sc == mega.scores[i]:
        idx = i
if idx == -1:
    print("존재하지 않는 성적입니다.")
else:
    print("Index: ",idx)
    
# 문제6) 학번을 입력받아 성적 출력
# 정답6) 학번 입력 : 1003    성적 : 45점
hb = int(input("Input studentID: "))
idx = -1
for i in range(size):
    if mega.hakbuns[i] == hb:
        print("score: ",mega.scores[idx])
        break

# 문제7) 학번을 입력받아 성적 출력
#         단, 없는학번 입력 시 예외처리
# 예   7)
# 학번 입력 : 1002        성적 : 11점
# 학번 입력 : 1000        해당학번은 존재하지 않습니다.
hb = int(input("Input studentID: "))
idx = -1
for i in range(size):
    if mega.hakbuns[i] == hb:
        print("score: ",mega.scores[idx])
        break
if idx == -1:
    print("해당학번은 존재하지 않습니다.")

# 문제8) 1등학생의 학번과 성적 출력
# 정답8) 1004번(98점)
win = mega.scores[0]
idx = 0
for i in range(size):
    if win < mega.scores[i]:
        win = mega.scores[i]
        idx = i
print("%d번(%d점)"%(mega.hakbuns[idx],mega.scores[idx]))