continue, break 강의에서
233
작성한 질문수 3
absent = [2, 5] # 결석 2,5번은 결석
no_book = [7] # 책을 깜빡했음
for student in range(1, 11): # 1,2,3,4,5,6,7,8,9,10
if student in absent: # 이 학생이 결석을 했다면
continue
print("{0}, 책을 읽어봐".format(student))
elif student in no_book:
print("오늘 수업 여기까지. {0}는 교무실로 따라와".format(student))
break
print("{0}, 책을 읽어봐".format(student))를 continue 밑에 쓰면안되고 왜 break 밑에 써야하나요 ?
답변 1
1
안녕하세요!
continue는 반복문에서 현재 순회중인 요소를 패스하고 다음 요소로 넘어가는 것이고,
break는 반복문 자체를 탈출하는 키워드입니다.
강의에서 예제로 들어주신 코드의 흐름은
1) 학생 한 명씩 리스트를 돌며
2) 만약 결석한 학생이면 다음 학생으로 넘어가고
3) 결석하지 않았는데 책이 없다면, 화난 선생님은 수업을 끝내고
학생을 교무실로 부르게 됩니다.
'~, 책을 읽어봐'를 continue 밑에 바로 쓰면
해당 학생이 책이 있는지 없는지를 체크하지 않고, 책을 읽으라는
지시를 한 것이기 때문에 책이 없는 경우 논리적 오류가 날 수 있습니다.
따라서 '출석한 학생'이 '책'을 읽어야 하므로
먼저 'absent'에 포함되어있는지 체크를 하고,
책의 유무까지 체크를 한 다음에도 문제가 없다면
'책이 있는 출석한 학생'이라는 조건에 만족하기 때문에
break 다음에 써준 것 입니다.
quiz 8 오류 문제
0
74
1
str() 작성 위치
0
57
1
아나콘다
0
64
1
윈도우 설치 도와주세요
0
75
1
std_weight함수에서weight만return가능한가요?
0
70
1
오른쪽위 실행버튼을 누르면 터미널에 에러가 뜨고 컨트롤+F5를 누르면 에러가 안뜹니다.
0
38
1
설치해서 시작하는데 문제가 있습니다.
0
70
1
함수 입력할 때 설명 툴팁 나오게 하려면 어떻게 하나요?
0
113
1
2장 환경설정 문의
0
78
1
스타크래프트 프로젝트
0
76
1
python 파일명.py 입력시 Python 출력
0
137
1
로드맵 질문있습니다!
0
90
2
오류
0
75
1
질문 있습니다.
0
79
1
블로그에 학습한 내용을 정리해도 괜찮을까요?
0
174
1
#퀴즈 3의 5번 질문
0
72
1
print("ㅋ"*5) 에 대한 결과가 도출되지 않습니다
0
82
1
가변인자의 위치가 중요한가요?
0
81
1
vscode옛날 버전 설치
0
225
1
글자색상이 선생님처럼 안나옵니다
0
188
1
슬프네
0
156
1
quiz 6번 관련 문의입니다.
0
132
1
퀴즈#3에 대해서 이렇게 작성해도 되나요?
0
197
1
피드백 부탁드립니다
0
93
1





