# [Python] 제어문

## **조건문**

---

- 참과 거짓을 판단하는 문장

### **if-else**

```javascript
if 조건문:
    수행할_문장1
    수행할_문장2
    ...
else:
    수행할_문장A
    수행할_문장B
    ...
```

- 참이면 if문 바로 다음 문장 (if 블록)들을 수행

- 거짓이면 else문 다음 문장(else 블록)들을 수행

- else문은 if문 없이 독립적으로 사용할 수 없다

**주의 사항**

- 조건문 다음에는  `콜론(:)`이 붙는다

- 파이썬에서는 들여쓰기에 따라 오류가 발생할 수 있다

    - `space`와 `Tab` 중 하나를 사용 (혼용 X)

    - 최근에는 공백 문자 4개 사용을 권장

### **elif**

```javascript
pocket = ['paper', 'cellphone']
card = True
if 'money' in pocket:
    print("택시를 타고가라")
else:
    if card:
        print("택시를 타고가라")
    else:
        print("걸어가라")
```

```javascript
pocket = ['paper', 'cellphone']
card = True
if 'money' in pocket:
    print("택시를 타고가라")
elif card:		
    print("택시를 타고가라")
else:
    print("걸어가라")
```

- if와 else만으로 다양한 조건 판단이 어렵다

- if-else를 중첩했을 때 복잡합을 해결하기 위해 `elif`를 사용

### 연산자

**비교 연산자**

| **비교 연산자** | **설명** | **비교 연산자** | **설명** |
| --- | --- | --- | --- |
| x < y | x가 y보다 작다. | x != y | x와 y가 같지 않다. |
| x > y | x가 y보다 크다. | x >= y | x가 y보다 크거나 같다. |
| x == y | x와 y가 같다. | x <= y | x가 y보다 작거나 같다. |

**and, or, not**

| **연산자** | **설명** |
| --- | --- |
| x or y | x와 y 둘 중 하나만 참이어도 참이다. |
| x and y | x와 y 모두 참이어야 참이다. |
| not x | x가 거짓이면 참이다. |

**in, not in **

| **in** | **not in** |
| --- | --- |
| x in 리스트 | x not in 리스트 |
| x in 튜플 | x not in 튜플 |
| x in 문자열 | x not in 문자열 |

## 반복문

---

## **while**

```javascript
while 조건문:
    수행할_문장1
    수행할_문장2
    수행할_문자3
    ...
```

- 조건문이 참인 동안 문자들이 반복해서 수행

**무한 루프**

```javascript
while True: 
    수행할_문장1 
    수행할_문장2
    ...
```

- 무한히 반복되는 반복문

**break, continue**

```javascript
a = 0
while True:
    if a % 2 == 0:
        continue
    if a > 10:
        break
    
    print(a)
    a = a + 1		
```

- while문을 중간에 중단하고 싶다면 `break`를 사용

- while문을 빠져나가지 않고

### for

```javascript
for 변수 in 리스트(또는 튜플, 문자열):
    수행할_문장1
    수행할_문장2
    ...
```

**range**

```javascript
sum = 0
for i in range(0, 10):
    sum = sum + i
```

- `range(start, end)`함수는 start 이상end 미만의 숫자를 포함하는 range객체를 만들어준다

**리스트 컴프리헨션**

```javascript
a = [1, 2, 3, 4]
result = []
for num in a:
    result.append(num*3)
```

- 리스트 a에 있는 값들에 모두 3을 곱하여 result에 저

For the site tree, see the [root Markdown](https://slashpage.com/yerim-devnote.md).
