본문 바로가기

코딩

[Python] 조건문, 반복문 (if, for, while)

1. 조건문 (if)

조건문의 기본적인 형식은 아래와 같다.

elif와 else는 없을 수 있고, elif는 여러 개 있을 수 있다.

if 조건:
    명령1
    명령2
    ...
elif 조건:
    명령1
    ...
else:
    명령1
    ...
#Example : 여러 값을 입력해서 정답 값을 맞히는 업다운 게임
x = 38 #정답 값
y = int(input()) #예측한 입력 값
count = 0 #틀린 횟수

if y > x:
    count += 1
    print("DOWN")
elif y < x:
    count += 1
    print("UP")
else:
    print("Correct!")
    print("실패횟수 : " + str(count))

12번 실패 후 정답을 맞힌다면

>> Correct!

>> 실패횟수 : 12

 

 

2. 반복문 (for)

for 반복문의 기본적인 형식은 아래와 같다.

이때 시퀀스란 문자열, 리스트, 튜플을 말한다.

for 반복문은 시퀀스의 첫 번째 요소부터 차례대로 가져온다.

for 변수 in 시퀀스:
    명령1
    명령2
    ...

 

for 반복문은 range와 함께 자주 쓰인다.

이때 range(end) 는 0, 1, ..., end-1 까지의 값들을,

range(start, end) 는 start, start+1, ..., end-1 까지의 값들을 차례대로 가져온다.

for 변수 in range(end):
    명령1
    명령2
    ...
    
for 변수 in range(start, end):
    명령1
    명령2
    ...
#Example : 구구단 3단
3_list = []

for i in range(9):
     k = i+1
     3_list.append(3*k)

print(3_list)

>> [3 6 9 12 15 18 21 24 27]

 

*for 반복문 특징

- 변수가 for 반복문 내에서 쓰이지 않아도 상관 없음. 단, 이 경우 통상적으로 변수를 _ 으로 설정함.

 

 

3. 반복문 (while)

while 반복문의 기본적인 형식은 아래와 같다.

while 조건:
    명령1
    명령2
    ...
#Example
x = 1

while x < 3:
    print x
    x = x + 1

>> 1

     2

 

 

4. 반복문 + 조건문 (if)

반복문 안에 if문을 넣을 때 passcontinue를 활용할 수 있다.

pass는 말 그대로 패스로, 다음 줄로 넘어가면 된다.

continue는 다음 줄로 넘어가지 않고, 반복문에서 다음 순서의 요소를 가져온다.

차이점을 두 예시를 통해 확인할 수 있다.

#Example
a = list(range(7))    #a = [0, 1, 2, 3, 4, 5, 6]

for x in a:
    if x%2 == 0:
        pass
    print(x)

>> 0

     1

     2

     3

     4

     5

     6

#Example
a = list(range(7))    #a = [0, 1, 2, 3, 4, 5, 6]

for x in a:
    if x%2 == 0:
        continue
    print(x)

>> 1

     3

     5

 

 

5. 반복문 (while) + 조건문 (if)

while 반복문의 조건이 항상 True일 경우, 무한 루프를 돌 위험성이 있다.

따라서 if문을 while문 안에 넣어 특정 조건에 만족하면 반복문을 탈출(break)하도록 만들 수 있다.

#Example
x = 1

while x > 0:
    if x != 4:
        print x
    	x = x + 1
    else:
    	break

>> 1

     2

     3