1. 문제
if ~ elif 조건문을 이용하여 국어, 수학, 영어 점수 성적표 출력
1) 최고점, 최저점, 차이 구하기
2) 평균, 총점 구하기
3) 점수가 중복일 경우도 반영하기
2. 사용함수
.isdigit() : 숫자면 True, 아니면 False
max(a, b, c) : a, b, c 중 가장 큰 수 출력
min(a, b, c) : a, b, c 중 가장 작은 수 출력
3. 실행
kor = input('국어 점수 입력:')
if kor.isdigit():
eng = input('영어 점수 입력:')
kor = int(kor)
if eng.isdigit():
eng = int(eng)
math = input('수학 점수 입력:')
if math.isdigit():
math = int(math)
sum = kor + eng + math
avg = sum/3
print('총점: {}'.format(sum))
print('평균: %.2f' % avg)
maxPoint = max(kor, eng, math)
minPoint = min(kor, eng, math)
differenc = maxPoint - minPoint
# 최고점 중복일 경우 계산
if maxPoint == kor:
if kor == eng:
maxSubject = '국어, 영어'
elif kor == math:
maxSubject = '국어, 수학'
else:
maxSubject = '국어'
elif maxPoint == eng:
if eng == math:
maxSubject = '영어, 수학'
else:
maxSubject = '영어'
elif maxPoint == math:
maxSubject = '수학'
# 최저점 중복일 경우 계산
if minPoint == kor:
if kor == eng:
minSubject = '국어, 영어'
elif kor == math:
minSubject = '국어, 수학'
else:
minSubject = '국어'
elif minPoint == eng:
if eng == math:
minSubject = '영어, 수학'
else:
minSubject = '영어'
elif minPoint == math:
minSubject = '수학'
if kor == eng == math:
maxSubject = '국어, 영어, 수학'
minSubject = '국어, 영어, 수학'
print("-" * 30)
print('최고 점수 과목(점수): {}({})'.format(maxSubject, maxPoint))
print('최저 점수 과목(점수): {}({})'.format(minSubject, minPoint))
print('최고, 최저 점수 차이: {}'.format(differenc))
print("-" * 30)
else:
print('숫자를 입력하시오.')
else:
print('숫자를 입력하시오.')
else:
print('숫자를 입력하시오.')
4. 결과물
a. 국어점수와 영어점수가 같을 때
b. 세 점수가 동일 할때
c. 숫자가 아닌 문자열을 입력했을 때
'Coding test > Python 기초문제' 카테고리의 다른 글
[for 반복문] 합, 짝수합, 홀수합, 팩토리얼 구하기 (0) | 2022.04.27 |
---|---|
[%, // 연산자] 빵과 우유 배분하기 (0) | 2022.04.17 |
[for 반복문] 복리 계산기 (0) | 2022.04.17 |
[while 반복문] 거스름돈 계산기 (0) | 2022.04.16 |
[if~else 조건문] 100살 계산기 (0) | 2022.04.16 |