본문 바로가기
Python/Programming

Python(#6) 반복문(for, while)

by 알 수 없는 사용자 2020. 4. 30.


지난 시간에는 파이썬의 조건문에 대해서 알아보았습니다

 

Python(#5) 조건문(if문)

🔳 Python(#4)-자료형(타입)_2와 변수 🔳 Python(#3)- 자료형(타입)_1 Python(#2)-python 입출력 및 계산 ※이 강의는 Windows 기준으로 작성되었습니다 Python(#1) - python 환경 조성 및 기초 알아보기! ※이 강..

blog.hyb.kr

 

이번에는 파이썬의 반복문을 알아보겠습니다

반복문은 일정 코드를 어떤 조건에 따라 계속 반복합니다

무언가를 반복해서 확인하던가

반복적인 작업을 해야 할 때 사용합니다



반복문은 크게 두 가지 방법으로 만들 수 있습니다


for, while

이것들을 이용하면 반복문을 쉽게 만들 수 있습니다

 

for문

for i in range(10): 
print(i) 


위의 코드는 for문의 예시입니다

10번 반복하여 i를 출력하는 코드입니다

여기서 i는 반복문이 한 번씩 돌 때마다 1씩 늘어납니다

 

for문은 이처럼 일정 수만큼 반복되는 코드를 작성할 때 사용됩니다

 

사실 말로 구구절절이 표현하는 것보다는 여러 가지 예시를 보시는 게 편합니다

 

 

wordlist = ['Python', 'is', 'good', 'so', 'use', 'this','!']
for i in wordlist:
	print(i)

for 문은 일정 수만큼 반복될 때 사용된다 했습니다

그러나 for문에서 반복할 수 있는 건 숫자뿐만이 아닙니다

 

위 예시처럼 리스트나 튜플 그리고 문자형 도 올 수 있습니다

 

for문의 위와 같은 특징을 사용하면, 여러 명의 성적을 관리하는 코드를 짤 수 있습니다

 

scores = [65, 78, 90, 100, 52]

num = 0
for score in scores:
	num += 1
	if score <70:
    	print(num+"번 탈락")
    else:
    	print(num+"번 합격")

위 코드가 그 예시입니다

 

for문은 흔히 range() 함수와 자주 쓰입니다

 

range() 함수는 세 가지의 방식으로 쓰일 수 있는데, 리스트와 비슷합니다

 

for i in range(10):
	print(i)

맨 처음 나왔던 구문을 실행시켜보면,

터미널 창에 0부터 9까지 출력이 되는 걸 볼 수 있습니다

 

range() 함수에 하나의 인자(10)만 쓰게 되면 그 인자(10)만큼 반복합니다

#파이썬을 포함한 거의 모든 언어는 0부터 숫자를 셉니다

 

for i in range(1, 11):
	print(i)

그러나 위 코드를 실행시켜 보면

0부터 9까지가 아닌, 1부터 10까지의 수가 출력되는 것을 확인할 수 있습니다

 

range() 함수에 인자가 두 개가 들어가면 그 두 개의 인자의 차만큼 반복하는데,

첫 번째 인자를 기준으로 한다는 뜻입니다...

#말로 하면 너무 어렵습니다..

for i in range(10, 101):
	print(i)

그러니까 위와 같은 코드가 있다면 101에서 10을 뺀 91번만큼 반복하고,

10부터 시작한다는 의미입니다

 

그러면 마지막 숫자가 100 이 되겠죠?

 

그렇습니다 range() 함수에 인자가 두 개 들어가면 첫 번째 인자부터 시작해

두 번째 인자에서 1을 뺀 값까지 반복합니다 ㅎㅎ

 

for i in range(5, 15, 2):
	print(i)

 

range() 함수에 인자가 3개 들어가면, 리스트의 슬라이싱과 비슷한 기능을 합니다

 

range() 함수에 인자가 두 개 들어갔을 때와 똑같이 작동하지만, 3번째 인자마다 띕니다

 

위 코드는 5, 7, 9, 11, 13을 출력하는 코드가 되죠

 

for 문은 이런 식으로 반복되는 상황에서 힘을 발휘합니다

 

while문

 

while문의 기본 구조는 다음과 같습니다:

 

while <조건식>:
    [수행할 구문1]
    [수행할 구문2]
    ...

for문 과 while문의 가장 큰 차이점은 바로

for문은 반복할 횟수를 정하지만,

while문은 조건에만 만족하면 계속 반복한다는 점입니다.

 

그래서 while문은 보통 break 를 이용합니다

 

break 와 continue

i=0
while True:
	i +=1
	print(i)
    if i <10:
    	break
i=0
while i<10:
	i +=1
    print(i)

위 코드들은 출력이 같습니다

 

차이점은 위 코드는 break 를 사용하고, 아래 코드는 true 대신에 조건문을 걸었습니다

 

그러나 while 을 빠져나갈 조건이 언제나 하나일 수 는 없습니다 그러니 break 의 사용법은 익혀 두셔야 합니다

 

 

continue는 break 와 비슷한 역할을 합니다 

i = 0
while True:
	i +=1
    if i==10:
    	continue
    if i == 20:
    	break

위 코드는 i를 1씩 키우는데,

 

i가 10이면 continue,

i가 20 이면 break 를 합니다

 

터미널창을 보시면

i가 1부터 출력되는데 10이 없고 19까지 출력 되는 걸 보실 수 있습니다

 

continue는 break 와는 달리 코드를 아예 빠져나오는게 아니고, 

 

이번 반복을 끝내고 다음 반복으로 들어갑니다

 

 

'Python > Programming' 카테고리의 다른 글

Python(#8)-파일 입출력  (0) 2020.05.14
Python(#7) - 함수(def)  (0) 2020.05.10
Python(#5) 조건문(if문)  (0) 2020.04.10
🔳 Python(#4)-자료형(타입)_2와 변수  (0) 2020.04.02
🔳 Python(#3)- 자료형(타입)_1  (0) 2020.03.29

댓글