강의내용:
1) python: while
2) python: for
while이나 for를 가리켜 반복문이라고 한다.
while의 기본을 살펴보자
문법은 이렇다
while expression :
statements if expression is true
statements..
expression이 참일 경우에 그 후에 들여쓰기가 된 문장들을 실행한다.
전에 말했듯이 파이썬은 들여쓰기가 중요한 언어이다.
들여쓰기가 된 모든 라인이 실행된 이후에 다시 while로 돌아가 expression을 검사한다.
expression이 참일 경우는 다시 실행, 그렇지 않을 경우 while의 들여쓰기 된 부분을 모두 건너뛰고 그 다음을 실행한다.
간단히 말하면 expression이 참일 동안 계속 반복 실행한다.
while이 참일 동안 계속 반복한다는 것은 while 내의 문장 속에 expression의 여부를 결정할 수 있는 변수가 있어야 한다는 것이다. 그렇지 않다면 컴퓨터가 꺼질 때까지 반복할 것이다.
예를 들어보자
number = 0
while number < 5 :
print(number)
print("Program end") # This will never run
number는 변하지 않으니 프로그램을 종료할 때까지 0을 한참 찍어낼 것이다.
number = 0
while number < 5 :
print(number)
number = number + 1
print("Program end") # This will run when number becomes 5
위 예제처럼 expression의 내용이 변경될 수 있게 프로그램을 해야한다.
Python에서 for는 다른 기존 프로그램과는 약간 다르다.
예를 들어 C에서 for의 사용은 처음 사용하는 값과, 비교, 그리고 변경을 명시해 사용한다.
for (i=0; i<5; i++)
Python에서 for는 객체의 내용을 하나씩 다룬다는 점에서 큰 차이가 있다.
예를 들어보자.
list1 = [1,2,3,4,5]
for value in list1:
print value #리스트의 내용을 모두 하나씩 출력
위의 예제에서는 list1의 요소 하나하나를 순차적으로 value에 대입한 후 그 결과를 출력한다.
다른 언어에서 흔히 알고 있는 for의 형태로 사용하려면 range() 함수를 사용하면 된다.
range(stop) #create immutable sequence start from 0 and step 1
e.g.
range(5) = [0,1,2,3,4]
range(start, stop[, step]) # range that start, stop and step defined
e.g.
range (1, 5) = [1,2,3,4,5]
예를 들어 1부터 5까지 다섯번 수행하는 for를 만든다면
for i in range(1,5):
반복문을 제어하는 자주 사용되는 두가지 명령어에는 break와 continue가 있다.
프로그램이 break를 만나면 그 즉시 해당 코드블럭을 탈출한다.
프로그램이 continue를 만나면 그 즉히 해당 코드블럭의 맨 끝으로 이동, 다시 반복문의 expression을 검사한다.
예를 들어 1부터 5중 1과 3만 출력하고, 4에서는 프로그램을 종료하는 프로그램을 만든다면
for value in range(1,5):
if value== 2:
continue
elif value==4:
break
else:
print(value)
--------------------
result:
1
3
for는 얼만큼 반복해야 하는지 아는 경우에 쉽게 사용이 가능하고, while 반복의 수를 확정하기 어려울 때 유용하다. 하지만 while과 for 모두 반복해서 실행하는 명령어이며 대부분의 상황에서 while - for의 변경이 가능하다.
'Lecture > Python Quest' 카테고리의 다른 글
Python Quest 4: If Else (0) | 2019.05.17 |
---|---|
Python Quest 3: Data types (0) | 2019.05.17 |
Python Quest 2: Variables (0) | 2019.04.25 |
Python Quest 1: 파이썬 설치, Hello World (0) | 2019.04.22 |