JSITCLUB
파이썬 독학#15 - 같은 작업은 나에게 - 반복문 본문
반복문은 컴퓨터가 같은 작업을 진행 해야 할때 사용하는 문장입니다. 만약 "hello"라는 단어를 1000번 출력해야 한다면, 단순히 print("hello")를 1000번 적어도 되지만 이때 반복문을 사용하면 간단히 프로그래밍을 할 수 있게 됩니다.
파이썬의 반복문에는 크게 while문 과 for문이 있습니다. 대체로 while문은 반복횟수를 예측할 수 없을때, for문은 반복횟수를 예측할 수 있을때 사용합니다.
1. while 문
while 조건 : 실행문 1 실행문 2 |
- 조건에 맞을 동안(조건의 결과가 True일 동안) 반복되고 조건에 맞지 않으면 반복을 멈추고 다음문장이 실행됩니다.
- 조건 : 주로 비교연산자를 사용합니다. (결과가 True 동안 실행문이 실행됩니다.)
- 조건 뒤에 콜론(:)을 반드시 붙여줍니다.
- 조건에 따라 반복 할 부분은 반드시 들여쓰기를 해줍니다. 들여쓰기 한 부분만 조건에 영향을 받습니다.(실행문1,실행문2)
주의 1) while문은 반드시 '~할 동안' 이라고 해석해야 합니다. 간혹 무심코 '~일때 까지'라고 해석하는데, 그러면 조건을 반대로 해석하는것이 되어버립니다.
코드 | 결과 | 바른예 | 틀린예 |
a=0 while a<10: a+=1 print(a) |
1부터 10 까지 출력 | 'a가10보다 작을동안 반복' -> 의미를 통해 바른 결과를 예측할 수 있게 된다. |
'a가 10보다 작을때까지 반복' -> 이말은 10보다 크다가 작아질때 까지 반복하겠다는 의미이므로 틀린 해석이 된다. |
주의 2) while문의 조건에 따라 전혀 돌지 않거나 무한히 반복하게 됩니다.
만약 위의 코드를
a=0 while a>10: a+=1 print(a) |
라고 고쳐 실행하면 결과는 아무것도 나오지 않습니다. 변수 a값을 0으로 정하고 a가 10보다 클 동안 반복하라고 했으니 당연히 반복이 안되겠죠.
이번에는 a+=1 이라는 문장을 빼면 어떻게 될까요?
a=0 while a<10: print(a) |
0이 끝없이 출력 될겁니다. (참고로 멈추려면 ctrl+c ) 이 경우는 변수 a값을 0으로 정하고 a를 변경하는 코드가 없으므로 (a는 계속 10보다 작으므로) 무한히 반복됩니다.
그러므로 while문을 사용할 때는 조건을 어떻게 코딩할 것인지가 매우 중요합니다.
2.for 문
for 변수 in 이터러블 객체 : 실행문 1 실행문 2
|
- 나열형의 각 요소가 하나씩 변수에 담은 후 실행된다.(즉 요소의 갯수만큼 반복합니다.)
- 이터러블 객체 : 요소를 하나씩 갖고와서 보여줄수 있는 자료형들 . 예를 들어 문자열(str),리스트(list), 튜플(tuple), range() 와 같은 시퀀스형 과 사전(dict),집합(set) 과 같은 것들이 이에 해당합니다.
- 조건 뒤에 콜론(:)을 반드시 붙여줍니다.
- 반복 할 부분은 반드시 들여쓰기를 해줍니다. 들여쓰기 한 부분만 조건에 영향을 받습니다.(실행문1,실행문2)
#1
문자열의 요소을 반복해서 출력 합니다. (문자열은 각 글자가 요소 이므로 한글자씩 출력 됩니다.)
#2
리스트의 요소를 반복해서 출력 합니다.
#3
range함수의 요소를 출력합니다.(range함수는 입력된 매개변수에 따라 요소가 결정됩니다.)
#4
당연 하겠지만, 이터러블 객체가 아닌 정수형을 넣으면 TypeError: 'int' object is not iterable 와 같이 에러가 납니다.
#while 문
#1
a=0
while a<10:
a+=1
print(a)
#2
a=0
while a>10:
a+=1
print(a)
#3 (ctrl + c 로 멈춤)
a=0
while a>10:
print(a)
#for 문
#1
a="hello"
for x in a:
print(x)
print("-"*40)
#2
b=["hello","hi","good afternoon"]
for x in b:
print(x)
print("-"*40)
#3
for x in range(5):
print(x)
print("-"*40)
#4
b=["hello","hi","good afternoon"]
for x in 3:
print(x)
'파이썬 > 입문' 카테고리의 다른 글
파이썬 독학#17 - 자주하는 일은 미리 만들어놔요 - 함수 (0) | 2020.05.21 |
---|---|
파이썬 독학#16 - 범위를 정해줘 - range() 함수 (0) | 2020.05.18 |
파이썬 독학#14 - 맞나? 틀리나? - 조건문 (0) | 2020.04.17 |
파이썬 독학#13 - 특별하게 담는법 - 사전(dict) ,집합(set) (0) | 2020.01.13 |
파이썬 독학#12 - 여러값을 담는법 - 리스트(list) ,튜플(tuple) (0) | 2020.01.03 |