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)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

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

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
deda

Deda의 데이터 디자인

[순위] 중간, 기말 점수 격차 확인
Coding test/Python 기초문제

[순위] 중간, 기말 점수 격차 확인

2022. 5. 7. 00:39

🔍  문제

학급 학생 20명의 중간, 기말 점수 순위를 구하고, 두 시험의 편차를 출력하는 프로그램 생성

 

🖥  실행

1) 모듈

class RankDeviation:

    def __init__(self, mss, ess):
        self.midStuScos = mss
        self.endStuScos = ess
        self.midRanks = [0 for i in range(len(mss))]
        self.endRanks = [0 for i in range(len(ess))]
        self.rankDeviation = [0 for i in range(len(mss))]

    def setRank(self, ss, rs):
        for idx, sco1 in enumerate(ss):
            for sco2 in ss:
                if sco1 < sco2:
                    rs[idx] += 1

    def setMidRank(self):
        self.setRank(self.midStuScos, self.midRanks)

    def getMidRank(self):
        return self.midRanks

    def setEndRank(self):
        self.setRank(self.endStuScos, self.endRanks)

    def getEndRank(self):
        return self.endRanks

    def printRankDeviation(self):

        for idx, mRank in enumerate(self.midRanks):
            deviation = mRank - self.endRanks[idx]

            if deviation > 0:
                deviation = '↑' + str(abs(deviation))
            elif deviation <0:
                deviation = '↓' + str(abs(deviation))
            else:
                deviation = '=' + str(abs(deviation))

            print(f'mid_rank: {mRank} \t end_rank: {self.endRanks[idx]} \t Deviation: {deviation}')
 

 

2) 실행파일

import rankMod as rm
import random

midStuScos = random.sample(range(50, 101), 20)
endStuScos = random.sample(range(50, 101), 20)


rd = rm.RankDeviation(midStuScos, endStuScos)
rd.setMidRank()
rd.setEndRank()

rd.printRankDeviation()

 

📝 결과물

mid_rank: 17 	 end_rank: 5 	 Deviation: ↑12
mid_rank: 1 	 end_rank: 11 	 Deviation: ↓10
mid_rank: 13 	 end_rank: 7 	 Deviation: ↑6
mid_rank: 2 	 end_rank: 12 	 Deviation: ↓10
mid_rank: 9 	 end_rank: 18 	 Deviation: ↓9
mid_rank: 18 	 end_rank: 13 	 Deviation: ↑5
mid_rank: 11 	 end_rank: 1 	 Deviation: ↑10
mid_rank: 12 	 end_rank: 17 	 Deviation: ↓5
mid_rank: 4 	 end_rank: 16 	 Deviation: ↓12
mid_rank: 5 	 end_rank: 2 	 Deviation: ↑3
mid_rank: 8 	 end_rank: 14 	 Deviation: ↓6
mid_rank: 15 	 end_rank: 15 	 Deviation: =0
mid_rank: 14 	 end_rank: 19 	 Deviation: ↓5
mid_rank: 0 	 end_rank: 6 	 Deviation: ↓6
mid_rank: 10 	 end_rank: 4 	 Deviation: ↑6
mid_rank: 6 	 end_rank: 8 	 Deviation: ↓2
mid_rank: 16 	 end_rank: 0 	 Deviation: ↑16
mid_rank: 19 	 end_rank: 10 	 Deviation: ↑9
mid_rank: 7 	 end_rank: 9 	 Deviation: ↓2
mid_rank: 3 	 end_rank: 3 	 Deviation: =0

 

'Coding test > Python 기초문제' 카테고리의 다른 글

[정렬] 1부터 100사이 난수 정렬(삽입 정렬)  (0) 2022.05.12
[정렬] 키순대로 배열  (0) 2022.05.12
[딕셔너리] BMI 계산기  (0) 2022.05.04
[리스트] 암호 해독기  (0) 2022.05.03
[리스트] 최고, 최저점을 삭제 후 총점, 평균 구하기  (0) 2022.05.03
    'Coding test/Python 기초문제' 카테고리의 다른 글
    • [정렬] 1부터 100사이 난수 정렬(삽입 정렬)
    • [정렬] 키순대로 배열
    • [딕셔너리] BMI 계산기
    • [리스트] 암호 해독기
    deda
    deda
    데이터 분석 / 파이썬 / UX / 정량리서치

    티스토리툴바