본문 바로가기

프로그래밍언어/Python

ch03. 파이썬 프로그래밍 제어문 (while, for)

반응형

2. while문

■ while문

- 조건에 따라서 반복적으로 로직을 실행해야하는 경우 사용.

■ while문 구조

# while문의 조건이 참인 경우 아래의 구문 실행
# 조건 아래의 구문은 들여쓰기가 필요하다.
while {condition}:
    statement1
    ...

■ break, continue

- break: loop문을 탈출하도록 한다.

- loop 내부에서 break 키워드를 만나는 경우 가장 가까운 loop문을 탈출하게 된다.

- continue: loop문의 처음, 조건문으로 이동한다.

- loop 내부에서 continue 키워드를 만나는 경우 아래의 구문을 무시하고 loop문 의 처음으로 이동하게 된다.

■ 무한루프

- while문 조건에 True인 값을 주어서 loop문이 무한하게 실행되도록 한다.

3. for문

■ for문

- while문과 마찬가지로 조건이 참인 경우 반복적으로 구문을 실행한다.

■ for문 구조

# iterable한 sequence의 자료형이 올 수 있다.
# for문 내부의 실행구문에 들여쓰기가 필요하다.
for var in {list, tuple, str}:
    statement1
    statement2
    ...

■ for문 예시

# 일반적인 사용
test_list = [1, 2, 3]
for i in test_list:
    print(i)    # 1, 2, 3이 차례로 출력된다.

# 튜플 사용
test_tuple = [(1, 2), (3, 4), (5, 6)]
for (a, b) in test_tuple:
    print(a + b)    # 3, 7, 11이 차례로 출력된다.

■ break, continue

- while문과 같이 break, continue 키워드가 사용된다.

■ range 함수

- 숫자 리스트를 자동으로 만들어주는 함수이다.

# range함수로 리스트 생성
a = range(10)
print(a)      # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

# range(start, end): start는 internal, end는 external이다.
b = range(1, 10)
print(b)      # [1, 2, 3, 4, 5, 6, 7, 8, 9]

# for문과 함께 사용
for i in range(10):
    print(i)        # 0 ~ 9까지의 정수가 차례로 출력된다.

■ 리스트 내포 (List comprehension)

- 리스트 내부에서 for문 사용

# 2d list 선언시 사용
a = [[] for _ in range(9)]

# list 값 선언 (초기화)
nums = [1, 2, 3, 4]
a = [num * 3 for num in nums]
print(a)    # [3, 6, 9, 12]

# 2개의 for문 사용도 가능
a = [x * y for x in range(1, 10) for y in range(1, 10)]
print(a)
'''
[1, 2, 3, 4, 5, 6, 7, 8, 9, 2, 4, 6, 8, 10, 12, 14, 16, 18,
3, 6, 9, 12, 15, 18, 21, 24, 27, 4, 8, 12, 16, 20, 24, 28, 32, 36,
5, 10, 15, 20, 25, 30, 35, 40, 45, 6, 12, 18, 24, 30, 36, 42, 48, 54,
7, 14, 21, 28, 35, 42, 49, 56, 63, 8, 16, 24, 32, 40, 48, 56, 64, 72,
9, 18, 27, 36, 45, 54, 63, 72, 81]
'''
반응형