본문 바로가기
개발일지/Python

[복기] 파이썬 튜플 가장 적은 반, 가장 큰 반 필터

by 개발에정착하고싶다 2022. 5. 11.
320x100

'''
# 내코드
# TypeError: '<' not supported between instances of 'int' and 'tuple'
# 로 인해서 실패
classless = (('class1', 18),('class2', 19),
         ('class3', 23),('class4', 21),
         ('class5', 20),('class6', 22),('class7', 17))

minClass = () ; maxClass = ()
minCnt = 0 ; maxCnt = 0

for a,b in enumerate(classless):
    if minCnt == 0:
        minClass = a
        minCnt = b

    if minCnt > b:
        minClass = a
        minCnt = b

    if maxCnt < b:
        maxClass = a
        maxCnt = b


print(f'학생 수가 가장 적은 학급(학생수): {minClass}학급({minCnt}명)')
print(f'학생 수가 가장 많은 학급(학생수): {maxClass}학급({maxCnt}명)')
'''

studentCnts = ((1,18),(2,19),(3,23),(4,21),(5,20),(6,22),(7,17))

minClassNo = 0; maxClassNo = 0
minCnt = 0; maxCnt = 0

for classNo, cnt in studentCnts:
    if minCnt == 0 or minCnt > cnt:
        minClassNo = classNo
        minCnt = cnt

    if maxCnt < cnt:
        maxClassNo = classNo
        maxCnt = cnt

print(f'학생 수가 가장 적은 학급(학생수): {minClassNo}학급({minCnt}명)')
print(f'학생 수가 가장 많은 학급(학생수): {maxClassNo}학급({maxCnt}명)')
300x250