본문 바로가기
AI SCHOOL

[Python] 조건문 if 헷갈리는 부분 공부하기

by 퍼마 2023. 7. 6.

본 게시글은 부트캠프 수강 중 기억하고자 하는 부분에 대한 메모입니다. 

 

 

파이썬에서 조건문 if 구조

if (조건) : 
    조건이 참일 경우 실행할 코드 
else:
    조건이 거짓일 경우 실행할 코드 
#if 조건문 예시 : 90점 이상이면 A등급을 부여하세요. 
score = 95

if score >= 90 : 
    result = 'A'

print(result)

 

여러 조건이 함께 주어졌을 경우

헷갈리는 논리 연산자들 : 하나라도 false 일 경우 and 와  or 은 각각 어떻게  다른 불값을 반환하는가

  • not a : a 가 True 이면 False를 반환 
  • a and b :
    • a와 b가 모두 True일 경우 True를 반환
    • a와 b 중 하나라도 False 값이 섞였을 경우 False 를 반환 
a = 10
b = 15

if (a==15) and (b==15):
    print ("2가지 조건 모두 참입니다")
else:
    print ("둘 중 거짓인 조건이 있습니다")

▶ a == 15 가 거짓이므로 else 코드블럭인 "둘 중 거짓이 있습니다" 프린트 

  • a or b 
    • a와 b 중 하나라도 True 값이 섞였을 경우 True 를 반환
a = 10
b = 15

if (a==15) or (b==15):
    print ("둘 중 참인 조건이 있습니다")
else:
    print ("2가지 조건 모두 거짓입니다")

▶ b == 15 가 참이므로 if 아래 코드블럭인 "둘 중 참인 조건이 있습니다" 프린트

 

여러 조건 사용하기 : elif

if 와 else 를 사용하면  True False 2가지 일 때만 코드를 실행할 수 있지만

elif 를 사용하면 여러개의 조건 & 코드블럭을 사용 가능하다.

 

[예제]  score  > 90 이 false 면 다음으로 넘어가서 score > 80에 대해 검증 

score = 75

if score > 90 : 
    result = 'A'
elif score > 80:
    result = 'B'
elif score > 70:
    result = 'C'
elif score > 60:
    result = 'D'
else :
    result = 'F'
    
print (result)

▶ score가  80점 이하이고 70점 초과하므로 결과는 C 가 출력된다. 

 

 

[틀리기 쉬운 예제]  

elif 대신에 if를 여러번 사용한다면? 

 

score = 75

if score > 90 : 
    result = 'A'
if score > 80:
    result = 'B'
if score > 70:
    result = 'C'
if score > 60:
    result = 'D'
else :
    result = 'F'
    
print (result)

▶  score > 70 가 True 이므로 result = 'C' 가 된다.
▶ 하지만 아래 코드의 조건인  score > 60도 만족하므로 result = 'D'가 그 위에 덮어씌워진다.