본문 바로가기
Python

파이썬 초급 #018 조건문 if- else 논리연산자, 논리 부정 연산자(not x) 문

by Smart Factory in 2020 2022. 1. 26.
728x90
반응형

안녕하세요. 스마트 팩토리입니다 
파이썬 초급 #018 조건문 if- else 논리연산자, 논리 부정 연산자(not x) 문에 대해 알아보겠습니다 .

1. 조건문 - 논리연산자

가. 논리연산자

(1) 논리연산자( 조건 x, y 일때)
  - x and  y : and 연산으로 x, y가 모두 참일 경우 조건문 내용 실행
  -x or y :  or 연산 으로  x, y 가  둘 중 하나만 참이더라도 조건문 내용 실행
 - not x  : not  연산 으로 x가 참이면 거짓, x가 거짓이면 참인 경우 조건문 내용 실행( 논리 부정 연산자) 
코드 예시

print("탑승 조건을 확인하고 있습니다.  ")
age=int(input(" 나이를 입력하세요 :"))
height=float(input("키를 입력하세요(cm) :"))

if age>=13 and height>=120 :
    print("연령과 신장 조건을 만족합니다. ")
    print(" 탑승 가능합니다. 통과하세요  ")

키와 신장 조건을 만족하면 이후 조건문 내용을 실행하게 됩니다.
여기서 and 연산이기 때문에 두 조건을 모두 만족해야 합니다. 

if 조건문안에 출력문이 블럭으로 된 것을 볼 수 있습니다. 이는 들여쓰기가 일치되어야 합니다. 

 

else :
    print("탑승 조건에 부합하지 않습니다. ")
    print("탑승하실 수 없습니다.  ")

if 조건문이 거짓일때 실행되는 코드입니다. 
역시나 블럭으로 되어 있어서 들여쓰기는 지켜져야 합니다. 

 

직접 값을 넣어보면서 왜 그런지 파악해 보면 이해하는데 어려움이 없을 것입니다. 

or의  경우로 바꿀 경우 조건이 더 들어가야 합니다. 이때 if ~elif 문이 필요하게 되는데 다음  포스팅에서 알아보겠습니다. 

print("탑승 조건을 확인하고 있습니다.  ")
age=int(input(" 나이를 입력하세요 :"))
height=float(input("키를 입력하세요(cm) :"))

if age>=13 and height>=120 :
    print("연령과 신장 조건을 만족합니다. ")
    print(" 탑승 가능합니다. 통과하세요  ")

else :
    print("탑승 조건에 부합하지 않습니다. ")
    print("탑승하실 수 없습니다.  ")

 

논리 부정 연산자(not)

논리 부정 연산자 not 을 쓰는 경우입니다. 조건문이기 때문에  != 가 같은 의미로 사용됩니다. 표현상의 차이는 있습니다 

print("탑승 조건을 확인하고 있습니다.  ")
age=int(input(" 나이를 입력하세요 :"))
height=float(input("키를 입력하세요(cm) :"))

if not(age <13) and not(height<120) :
    print("연령과 신장 조건을 만족합니다. ")
    print(" 탑승 가능합니다. 통과하세요  ")

조건을 처음 조건의 반대로 표현한 것입니다. 말그대로 조건을 반대를 만족하는 경우가 참이라는 의미입니다. 직접 값을 넣고 실행해 보면 이해하는데 어려움이 없습니다. 


else:
    print("탑승 조건에 부합하지 않습니다. ")
    print("탑승하실 수 없습니다.  ")

if 조건을 만족하지 못할 경우 출력되는 영역입니다. 

 

논리부정연산자 not 이 있다는 것이 포인트입니다. 

print("탑승 조건을 확인하고 있습니다.  ")
age=int(input(" 나이를 입력하세요 :"))
height=float(input("키를 입력하세요(cm) :"))

if not(age <13) and not(height<120) :
    print("연령과 신장 조건을 만족합니다. ")
    print(" 탑승 가능합니다. 통과하세요  ")

else:
    print("탑승 조건에 부합하지 않습니다. ")
    print("탑승하실 수 없습니다.  ")

 

728x90
반응형

댓글