리스트와 튜플
가장 큰 차이점 : 리스트는[] 튜플은() / 리스트는 아이템 추가 변경 삭제 가능, 튜플은 불가능
튜플은 선언 시 괄호 생략이 가능
리스트와 튜플은 자료형 변환이 가능
튜플 아이템 정렬
튜플은 수정이 불가능하므로 리스트로 변환 후 정렬, 이후 다시 튜플로 변환
sorted()함수 이용하면 튜플도 정렬 가능 / 반환되는 자료는 리스트 자료형
튜플과 for문
for문 사용해서 튜플 아이템 참조하기
for문 이용하면 튜플의 아이템을 자동으로 참조 가능
for문 이용하면 튜플 내부에 있는 튜플도 조회 가능
studentCnts = ((1,19),(2,20),(3,22),(4,18),(5,21))
for classNo, cnt in studentCnts:
print('{}학급 학생 수 : {}'.format(classNo,cnt))
#이거보단 위 방식이 나음
for i in range(len(studentCnts)):
print('{}학급 학생수 : {}'.format(studentCnts[i][0],studentCnts[i][1]))
studentCnts = ((1,18),(2,19),(3,23),(4,21),(5,20),(6,22),(7,17))
sum = 0; avg = 0
for classNo, cnt in studentCnts:
print('{}학급의 학생수 : {}'.format(classNo, cnt))
sum += cnt
print('전체 학생 수 : {}'.format(sum))
print('평균 학생 수 : {}'.format(int(sum/len(studentCnts))))
for문과 if문 이용해서 과락과목 출력하기
튜플과 while문
while문 사용 시 다양한 방법으로 아이템 조회 가능
while문 사용 학급별 학생 수 구하기
studentCnts = ((1,18),(2,19),(3,23),(4,21),(5,20),(6,22),(7,17))
sum = 0; avg = 0; n=0
while n < len(studentCnts):
classNo = studentCnts[n][0]
cnt = studentCnts[n][1]
print('{}학급 학생 수 : {}명'.format(classNo,cnt))
sum += cnt
n+=1
print('전체학생 수 : {}명'.format(sum))
print('평균학생 수 : {}명'.format(int(sum/len(studentCnts))))
while문 사용 과락점수 구하기
minScore = 60
scores = (('국어', 58), ('영어',77),('수학',89),('과학',99),('국사',50))
n=0
while n < len(scores):
if scores[n][1] < minScore:
print('과락 과목 : {} 점수 : {}'.format(scores[n][0],scores[n][1]))
n+=1
while문 사용 학생 수 구하기
studentCnts = ((1, 18), (2, 19), (3, 23), (4, 21), (5, 20), (6, 22), (7, 17))
minClassNo =0; maxClassNo=0
minCnt =0; maxCnt=0
n=0
while n < len(studentCnts):
if minCnt ==0 or minCnt > studentCnts[n][1]:
minClassNo = studentCnts[n][0]
minCnt = studentCnts[n][1]
if maxCnt < studentCnts[n][1]:
maxClassNo = studentCnts[n][0]
maxCnt = studentCnts[n][1]
n+=1
print('학생 수 가장 적은 학급(학생수) : {}학급 / {}명'.format(minClassNo,minCnt))
print('학생 수 가장 많은 학급(학생수) : {}학급 / {}명'.format(maxClassNo,maxCnt))