리스트와 for 문
cars = ['그랜져', '소나타','말리부','카니발','쏘렌토']
for i in range(len(cars)):
print(cars[i])
for car in cars:
print(car)
두 코드의 결과값은 똑같음
for문 이용한 내부리스트 조회
studentCnts = [[1,19],[2,20],[3,22],[4,18],[5,21]] #반번호, 인원수 리스트
for i in range(len(studentCnts)):
print('{}학급 학생수 : {}'.format(studentCnts[i][0],studentCnts[i][1]))
#변수를 두개를 줌으로써 리스트 안에 리스트를 참조
#이렇게도 가능
for classNo,cnt in studentCnts:
print('{}학급 학생수 : {}'.format(classNo,cnt))
반별 평균 학생수 구하기
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))))
과락 과목 구하기
minScore = 60
scores = [['국어',58],['영어',77],['수학',89],['과학',99],['국사',50]]
for item in scores:
if item[1] < minScore: #아이템0이 과목명 / 1이 점수
print('과락과목 : {}, 점수 : {}'.format(item[0],item[1]))
for subject, score in scores:
if score < minScore:
print('과락과목 : {}, 점수 : {}'.format(subject,score))
for subject, score in scores:
if score >= minScore: continue
print('과락과목 : {}, 점수 : {}'.format(subject,score))
minScore = 60
korScore = int(input('국어 점수: '))
engScore = int(input('영어 점수: '))
matScore = int(input('수학 점수: '))
sciScore = int(input('과학 점수: '))
hisScore = int(input('국사 점수: '))
scores = [['국어',korScore],['영어',engScore],['수학',matScore],
['과학',sciScore],['국사',hisScore]]
for subject, score in scores:
if score < minScore:
print('과락 과목 : {}, 점수 : {}'.format(subject,score))
studentCnt = [[1,18],[2,19],[3,23],[4,21],[5,20],[6,22],[7,17]]
max_cnt = studentCnt[0][1]
min_cnt = studentCnt[0][1]
max_class = studentCnt[0][0]
min_class = studentCnt[0][0]
#최댓값, 최솟값 설정 후 크기 비교를 통해 설정
print(max_cnt)
print(min_cnt)
print(max_class)
print(min_class)
# 최대 학생 수와 반 번호, 최소 학생 수와 반 번호 탐색
for i in range(len(studentCnt)):
if studentCnt[i][1] > max_cnt:
max_cnt = studentCnt[i][1]
max_class = studentCnt[i][0]
if studentCnt[i][1] < min_cnt:
min_cnt = studentCnt[i][1]
min_class = studentCnt[i][0]
# 결과 출력
print('학생 수가 가장 적은 반: {}반 ({}명)'.format(min_class, min_cnt))
print('학생 수가 가장 많은 반: {}반 ({}명)'.format(max_class, max_cnt))
리스트와 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))))
과락구하기
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
n=0
while n < len(scores):
if scores[n][1] >= minScore:
n+=1
continue
print('과락과목: {}, 점수: {}'.format(scores[n][0], scores[n][1]))
n += 1
학생 수 비교하기
studentCnt = [[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(studentCnt):
if minCnt ==0 or minCnt> studentCnt[n][1]:
minclassNo = studentCnt[n][0]
minCnt = studentCnt[n][1]
if maxCnt < studentCnt[n][1]:
maxclassNo = studentCnt[n][0]
maxCnt = studentCnt[n][1]
n+=1
print('학생 수가 가장 적은 학급(학생수) : {}학급({}명)'.format(minclassNo,minCnt))
print('학생 수가 가장 많은 학급(학생수) : {}학급({}명)'.format(maxclassNo,maxCnt))