continue, break 강의에서
236
3 asked
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 밑에 써야하나요 ?
Answer 1
1
안녕하세요!
continue는 반복문에서 현재 순회중인 요소를 패스하고 다음 요소로 넘어가는 것이고,
break는 반복문 자체를 탈출하는 키워드입니다.
강의에서 예제로 들어주신 코드의 흐름은
1) 학생 한 명씩 리스트를 돌며
2) 만약 결석한 학생이면 다음 학생으로 넘어가고
3) 결석하지 않았는데 책이 없다면, 화난 선생님은 수업을 끝내고
학생을 교무실로 부르게 됩니다.
'~, 책을 읽어봐'를 continue 밑에 바로 쓰면
해당 학생이 책이 있는지 없는지를 체크하지 않고, 책을 읽으라는
지시를 한 것이기 때문에 책이 없는 경우 논리적 오류가 날 수 있습니다.
따라서 '출석한 학생'이 '책'을 읽어야 하므로
먼저 'absent'에 포함되어있는지 체크를 하고,
책의 유무까지 체크를 한 다음에도 문제가 없다면
'책이 있는 출석한 학생'이라는 조건에 만족하기 때문에
break 다음에 써준 것 입니다.
quiz 8 오류 문제
0
85
1
str() 작성 위치
0
67
1
아나콘다
0
83
1
윈도우 설치 도와주세요
0
95
1
std_weight함수에서weight만return가능한가요?
0
76
1
오른쪽위 실행버튼을 누르면 터미널에 에러가 뜨고 컨트롤+F5를 누르면 에러가 안뜹니다.
0
47
1
설치해서 시작하는데 문제가 있습니다.
0
81
1
함수 입력할 때 설명 툴팁 나오게 하려면 어떻게 하나요?
0
131
1
2장 환경설정 문의
0
87
1
스타크래프트 프로젝트
0
90
1
python 파일명.py 입력시 Python 출력
0
153
1
로드맵 질문있습니다!
0
101
2
오류
0
83
1
질문 있습니다.
0
86
1
블로그에 학습한 내용을 정리해도 괜찮을까요?
0
187
1
#퀴즈 3의 5번 질문
0
78
1
print("ㅋ"*5) 에 대한 결과가 도출되지 않습니다
0
89
1
가변인자의 위치가 중요한가요?
0
90
1
vscode옛날 버전 설치
0
246
1
글자색상이 선생님처럼 안나옵니다
0
201
1
슬프네
0
165
1
quiz 6번 관련 문의입니다.
0
139
1
퀴즈#3에 대해서 이렇게 작성해도 되나요?
0
207
1
피드백 부탁드립니다
0
98
1

