deda
Deda의 데이터 디자인
deda
전체 방문자
오늘
어제
  • 분류 전체보기 (121)
    • Python (27)
      • Python 기초 (17)
      • Python 데이터분석 (10)
    • SQL (9)
    • Coding test (54)
      • Python 기초문제 (45)
      • LeetCode (9)
    • BigData (2)
    • ZeroBase (3)
    • UX (0)
    • Business Review (1)
    • 통계 & 수학 (17)
      • 통계학 (14)
      • 수학 (3)
    • 스터디 (6)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 소인수분해
  • 제로베이스
  • 빅데이터
  • 미니콘다
  • 데이터엔지니어
  • 계산기
  • 군수열
  • 기초수학
  • 데이터사이언티스트
  • 통계
  • matplotlib
  • 데이터분석가
  • 마이데이터
  • 모듈
  • 팩토리얼
  • 함수
  • 데이터분석
  • 프로그래밍
  • pandas
  • 네카라쿠배
  • 계차수열
  • 부트캠프
  • 등비수열
  • 릿코드
  • SQL
  • BMI
  • 최소공배수
  • 파이썬
  • 코딩
  • 등차수열

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
deda

Deda의 데이터 디자인

[if/elif 조건문] 성적표 출력하기
Coding test/Python 기초문제

[if/elif 조건문] 성적표 출력하기

2022. 4. 16. 23:53

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
    'Coding test/Python 기초문제' 카테고리의 다른 글
    • [%, // 연산자] 빵과 우유 배분하기
    • [for 반복문] 복리 계산기
    • [while 반복문] 거스름돈 계산기
    • [if~else 조건문] 100살 계산기
    deda
    deda
    데이터 분석 / 파이썬 / UX / 정량리서치

    티스토리툴바