[02. 문법] 2.3 제어문 - if, for, while, break, continue
작성자 : kim2kie
(2023-02-19)
조회수 : 1085
[참조]
- 공학자를 위한 Python, 조정래, 2022: 2.2 제어문
https://wikidocs.net/14596 - Dookie Kim, Python: From Beginning to Application, 2022
https://www.dropbox.com/s/oa86j9ap62esmtz/Python.pdf?dl=0
다른 프로그래밍 언어와 같이 파이썬에도 if, for, while 등의 제어문이 있으며, break, continue 의 키워드도 동일하다.
(1) 조건문: if
(2) 반복문: for, while
(3) break, continue
조건설정 다음에 콜론(:)을 찍어준다.
명령구문들은 들여쓰기를 한다.
(1) 조건문: if
- 조건을 판단하여 해당 조건에 맞는 상황을 수행하는 데 사용한다.
- 파이썬에는 switch/case 문이 없으므로, if 문으로 작성한다.
-
Ex 1)
if a > 0:
print(a) # a가 0보다 큰 경우 a를 출력한다.
else:
print(b) # a가 0보다 크지 않은 경우 b를 출력한다.
-
Ex 2)
if x < 0:
print('negative') # x가 0보다 작은 경우 negative를 출력한다.
elif x < 10:
print('0<=x<10') # x가 0보다 크거나 같고 10보다 작은 경우 0<=x<10를 출력한다.
else:
print('x>=10') # x가 10보다 크거나 같은 경우 x>=10를 출력한다.
(2) 반복문: for, while
- 명령이 반복되는 경우에 사용한다.
- for문은 for [변수] in [문자열, 리스트, 튜플]: 부분을 통해 새로운 변수를 만든다.
- while문은 while [조건문]: 부분을 통해 변수의 True/False 여부를 판단할 뿐, 새로운 변수를 만들 수 없다.
-
Ex 1) range() 사용
for i in range(10):
print(i) # range(10)은 0,1,2,3,4,5,6,7,8,9 숫자를 생성한다.
결과)
0
1
2
3
4
5
6
7
8
9
-
Ex 2) list 데이터 타입의 사용
xdata = [0.1,4,3]
for x in xdata:
print(x)
결과)
0.1
4
3
-
Ex 3) 인덱스와 리스트 멤버 동시 접근 : enumerate(list) 사용
items = [9,5,4,10]
for idx, val in enumerate(items):
print(idx, val) # enumerate(items)는 (인덱스,객체)인 [(0,9), (1,5), (2,4), (3,10)]를 생성한다.
결과)
0 9
1 5
2 4
3 10
-
Ex 4) while (무한)반복문
while True:
key = input()
if key == 'x':
break # x가 입력되면 while 반복문을 깨고 나온다.
print(key)
(3) break, continue
- break는 특정 조건일때 아예 반복문을 깨고 나오게 한다.
- continue문은 어떤 조건일때 반복문 안에 명시된 구문을 건너뛴다.
-
Ex 1) break
for val in "string":
if val == "i":
break # s, t, r 까지 출력한 후, i가 되면 for 반복문을 깨고 나온다.
print(val)
결과)
s
t
r
-
Ex 2) continue
for val in "string":
if val == "i":
continue # s, t, r 까지 출력한 후, i가 되면 반복문을 건너 뛰고, n, g를 출력한다.
print(val)
결과)
s
t
r
n
g
[유튜브] 무한루프: 꺼진불도 다시보자