들어가기
컴퓨터가 인간보다 나은점은 하나의 작업을 반복적으로 빠르게 수행할 수 있다는 것입니다.
이를 루프라고 하며, 파이썬에서는 어떤식으로 반복작업에 대한 코드를 작성하는지 살펴 보도록 합시다.
학습목표
파이썬에서의 반복작업은 어떤식으로 수행되는지 이해하고 활용할 수 있다.
핵심 키워드
- while 루프
학습 영상
들어가기
컴퓨터가 인간보다 나은점은 하나의 작업을 반복적으로 빠르게 수행할 수 있다는 것입니다.
이를 루프라고 하며, 파이썬에서는 어떤식으로 반복작업에 대한 코드를 작성하는지 살펴 보도록 합시다.
학습목표
파이썬에서의 반복작업은 어떤식으로 수행되는지 이해하고 활용할 수 있다.
핵심 키워드
학습 영상
학습 내용
while 루프
아래의 코드를 살펴 보면, while과 :(콜론)사이에 오는 조건문이 참의 값을 가지는 경우에는 :(콜론)이하의 코드가 반복해서 작동하게 됩니다. 통상적으로 while문을 자주 사용하게 된다면 자신의 코드를 되돌아볼 필요가 있습니다. 물론 while은 반복적으로 작업할 수 있도록 해주는 편리한 문법이지만 무한루프에 빠질 수 있는 단점도 내포하고 있기 때문입니다.
n = 5
while n > 0:
print(n)
n = n - 1
print('Blastoff!')
print(n)
루프(Loop) 제어하기
break
루프가 break를 만나게 되면 해당 루프는 실행이 종료 되고 while문 바로 뒤의 코드를 실행하게 됩니다.
while True:
line = input('> ')
if line == 'done':
break
print(line)
print('Done!')
# > hello there로 입력
# hello there로 출력됨
# > finished로 입력
# finished로 출력됨
# > done로 입력
# Done!으로 출력됨
continue
루프가 continue를 만나게 되면 해당 루프는 실행이 종료되고 루프가 시작된 지점부터 다시 루프를 실행하게 됩니다.
while True:
line = input('> ')
if line[0] == '#' :
continue
if line == 'done' :
break
print(line)
print('Done!')
# > hello there 입력
# hello there로 출력
# # don't print this '#'을 입력하게 되면 continue를 만나게 되고 continue는 loop의 시작점으로 다시 돌아가서 loop를 실행하게 됩니다.
# > print this! 입력
# print this!로 출력
# > done 입력
# Done!으로 출력 done을 입력하게 되면 break를 만나게 되고 break는 loop끝나는 점 바로 다음에 오는 코드를 실행하게 됩니다.
comment
break는 루프를 종료하고 나오기 때문에 무한루프에 빠질 가능성이 낮지만,
continue는 조건 및 변수의 업데이트 없이 설계해두면 무한루프에 빠질 수 있어 주의해야함.
break면 함수 루프를 종료하고 continue면 함수 시작점으로 돌아간다 라고 이해하는 게 맞을까용?
while 뒤 조건이 참이면 반복
break면 while문 종료/continue면 함수의시작으로
line[0] == '#':
line [0] 이 뭐죠?
비공개 글입니다.
쉽고 유익한 수업입니다.
복습!
따라쳐보고 cmd에서 돌려보니까 재미있네요 바꿔서도해보고 흠... 심심이도 이런식으로 만들어졌을까요
이해하기가 조금 힘드네요 ㅜㅜㅜ
위에 'continue' 설명 중 "루프가 continue를 만나게 되면 해당 루프는 실행이 종료되고 루프가 시작된 지점부터 다시 루프를 실행하게 됩니다." 에서 만약 while 시작과 continue 실행 전 누적되는 변수가 있다고 가정할 때 해당 변수의 누적값은 어떻게 되는 건가요?
벌써 이 학습의 절반이 지나가고 있는데...이해는 언제쯤 될까요...
이해도도 떨어지는데 영어로 된 강의까지 이해해야 되서..뇌는 돌지만 결과는 없는 그야말로 While문처럼 무한 loop에 빠진 것 같아요 ㅠㅠ..
한국분 교수님의 강의로 강의들려주세요!!! ㅠㅠ
여기까지 오면서 C언어하고 파이썬하고 구분도 못하던 코린이가 기초 코딩을 읽게 되고 심지어 급여 프로그램까지 만들고 있습니다. 감사합니다. 재미있는 코딩! 앞으로 더 정진하겠습니다.
210606
hello world