본문 바로가기
DEV/파이썬 이론

파이썬 코딩 :: 파이썬 if 조건문 문법, 예제

by 올커 2022. 8. 15.

파이썬 조건문 if


파이썬에서 사용하는 조건문 if문에 대해서 정리한다

(1) If문 기본 구조

if 조건 부분1:  # 조건문 다음에 콜론(:)을 빠뜨리지 않는다
	수행 부분 1.1
	수행 부분 1.2
    ...
elif 조건 부분2:
	수행 부분 2.1
	수행 부분 2.2
    ...
elif 조건 부분3:
	pass  # 조건문에서 아무것도 하지 않게 설정하고 싶을 경우
else:
	수행 부분 4.1
	수행 부분 4.2
    ...

  - 기본적으로 if문은 조건문을 충족할 시/안할 시로 구분한다

  - 위의 구조를 보았을 때 조건 부분1을 충족하면 수행부분 1.1~을 수행하고,

    충족하지 않을 경우 다음 순서인 elif로 넘어가게 된다.

    (만약 조건이 1가지인 경우 elif가 아닌 else로 바로 넘어가도 된다.) 

  - 조건문을 충족할 시 수행부분에서 아무것도 하지 않게 하려면 pass를 사용한다.

(2) 조건부 표현식 사용하기

if 조건문:
	x = "A"
else:
	x = "B"

위의 if 조건문은 아래와 같이 심플하게 변경이 가능하다

x = "A" if 조건문 else "B"

(3) If 조건문 사용 예제

  ① 학점 계산기

def print_grade(midterm_score, final_score):
    total = midterm_score + final_score
    
    if total >= 90 :
        print("A")
    elif total >= 80 :
        print("B")
    elif total >= 70 :
        print("C")
    elif total >= 60 :
        print("D")        
    else:
        print("F")


# 테스트
print_grade(30, 45)

  ② 8의 배수이지만 12의 배수는 아닌 것

i = 1

while i <= 100:
    if i % 8 == 0:
        if i % 12 != 0:
            print(i)
            i += 1
        i += 1
    i += 1
        
####################################
i = 1

while i <= 100:
    if i % 8 == 0 and i % 12 != 0:
        print(i)
    i += 1

  ③ 100보다 작은 자연수 중 2 or 3의 배수의 합 출력

i = 1
sum_i = 0

while i < 1000:
    if i % 2 == 0 or i % 3 == 0:
        sum_i = sum_i + i
    i += 1

print(sum_i)

  ④ .약수 찾기

Num = 120
i = 1
cnt = 0

while i <= Num:
    if Num % i == 0:
        print(i)
        cnt += 1
    i += 1

print(f"{Num}의 약수는 총 {cnt}개입니다.")

  ⑤ 피보나치 수열

i = 1
j = 1
cnt = 3

print(i)
print(j)

while cnt <= 50:
    if cnt % 2 != 0:
        i = i + j
        print(i)
        cnt += 1
    else :
        j = j + i
        print(j)
        cnt += 1
        
##################################
previous = 0
current = 1
i = 1

while i <= 50:
    print(current)
    temp = previous  # previous를 임시 보관소 temp에 저장
    previous = current
    current = current + temp  # temp에는 기존 previous 값이 저장돼 있음
    i += 1
    
            
##################################
previous = 0
current = 1
i = 1

while i <= 50:
    print(current)
    previous, current = current, current + previous
    i += 1

  ⑥ 구구단 만들기

i = 1
p = 1

while i < 10:
    if p != 9 :
        print(f"{i} * {p} = {i * p}")
        p += 1
    else :   # *9일경우 p는 다시 1로 돌려주고, i(단수)는 올린다
        print(f"{i} * {p} = {i * p}")
        p = 1
        i += 1
        continue
        
##############################################
i = 1
while i <= 9:
    j = 1
    while j <= 9:
        print("{} * {} = {}".format(i, j, i * j))
        j += 1
    i += 1
반응형

댓글