«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

Code IT

Python - while 본문

Python & Django

Python - while

Codit 2019. 1. 31. 14:54
# 지금까지의 모든 코드는 한번 실행하면 종료되는 방식이였다.
# 하지만, 보통의 프로그래밍이라면, 하나의 작업이 한 번이상 반복이 되는 것들이 많다.
# 예컨데, 게시판에 게시글을 등록하는 함수 하나가 있다고 해보자.
# 게시판에 게시글을 한 번만 등록한다면, 현재까지 작성해왔던 코드로도 충분히 가능하다.
# 하지만, 하나의 글을 한 번 이상 등록한다거나, 다른 내용의 글을 한 번 이상 등록되는 
# 게시판이 있다면 우리가 써왔던 코드로는 충분하지 않다.
# 이럴 때, 반복문을 사용하면 그럴싸한 게시판이 만들어질수도 있다.

articles = [
	{"id": 1, "subject": "첫 번째 글"}	,
	{"id": 2, "subject": "두 번째 글"}	,
	{"id": 3, "subject": "세 번째 글"}	
]

# 위와 같은 자료형을 출력하는 함수를 만들어 보자.

def print_article(articles):
	id = articles[0]["id"]
	subject = articles[0]["subject"]
	
	print(id, subject)


print_article(articles)

# 이 코드로는 첫 번째 글 밖에 출력할 수 없다.
# 3개의 글을 모두 출력하려면, 아래와 같이 변경할수도 있다.

def print_article(articles, index):
	id = articles[index]["id"]
	subject = articles[index]["subject"]
	
	print(id, subject)
	
print_article(articles, 0)
print_article(articles, 1)
print_article(articles, 2)

# 하지만, 글이 수십개 아니 수백개 이상이라면 어떨까?
# 코드를 일일이 적어야만 가능한 일이다. 다 적는다고하더라도, 
# 인덱스가 바뀌거나, 추가되거나, 수정된다면? 끔찍한 일이 일어날것이 뻔하다.
# 이런일들이 매우 빈번하게 일어날 것이기 때문에, 이런 문제를 효율적으로 
# 제거할 수 있는 방법이 필요한데, 그 방법이 바로 "반복" 이라는 방법이다.

print(len(articles)) # 3, 리스트의 개수를 구한다.

index_count = 0 # 아이디를 탐색할 변수를 정의한다.
while ( index_count != len(articles) ) :
	print_article(articles, index_count) # 글 하나를 출력한다.
	index_count += 1 # 아이디 탐색 변수를 1 증가시킨다.

# 위 코드는 index_count의 값과 articles 리스트 변수의 개수가 같지 않을 때 까지 반복한다.
# index_count의 값은 현재 0 이므로 while 반복문 내부의 코드를 수행시킬 수 있다.
# 첫 번째 반복에서 index_count의 값이 1 증가되어 1이 된다. 
# 이런 과정이 index_count가 4가 될 때까지 반복하다, 4가 되면 반복문을 종료하게 된다.

'Python & Django' 카테고리의 다른 글

Python - loop ~ else  (0) 2019.01.31
Python - for  (0) 2019.01.31
Python - 제어하기 (if, elif, else)  (0) 2019.01.30
Python - 함수  (0) 2019.01.30
Python - bool  (0) 2019.01.30
Comments