PYTHON

[PYTHON] 조건문, 논리연산자

병스 2022. 9. 16. 19:42

 


1. 조건문이란?

if (명제) :
  실행문
  
1. if 2 + 2 == 4 :  #참
	print(4)
    
2. if 2 + 2 == 3 :  #거짓
	print(4)  #이경우는 출력되지 않음

간략히 설명하자면 예문처럼 명제의 , 거짓을 판단하여 참이면 실행문을 동작하는 것을 조건문이라고 한다! 


2. 다중조건문

  • 1개의 조건만 들어간 if문에서 조건을 추가하여,
  • 2개 이상의 조건을 제시하려면 if와 else 사이에 elif를 얼마든지 추가 가능하다!
if 조건1:
    조건1이 참일 때 실행문
elif 조건2:
    조건2가 참일 때 실행문
elif 조건3:
    조건3가 참일 때 실행문
else:
    조건1도 2도 아닌 모든 상황에 실행문
    
    
* 중첩조건문을 활용한 간단한 주사위 게임

    # input 값은 1~6 사이의 임의의 수
a = int(input())
b = int(input())

if a > b:
    print("a가 이겼다!")
elif a < b:
    print("a가 졌다")
else :
    print("비겼다.")

3. 중첩 조건문

  • 조건문 안에서 또 조건문을 만든것을 중첩조건문 이라고 부른다! 
  • 조건을 중첩해서 걸어 자료를 한번 필터링하고 참인 자료를 다시 필터링하여 출력한다! 
if 명제1:
    # 명제 1이 참인 경우 해야 할 일
    if 명제2
         # 명제 1이 참인데 명제2도 참일 때 해야 할 일
    else:
        # 명제1은 참이지만 명제2는 거짓일 때 해야 할 일

else:


* 중첩조건문을 활용하여 로그인하기! 

# user_id = abcd user_pw = 1234 인 경우에
user_id = 'abcd'
user_pw = '1234'

# id와 pw를 입력받아서 
id = input('id 입력하세요: ')
# 둘다 일치하면 '로그인 되셨습니다' 
if id == user_id:
    pw = input('비밀번호를 입력하세요: ')
    if pw == user_pw:
        print('로그인되셨습니다.')
    else: 
        print('비밀번호가 틀렸습니다')
else:
    print('ID가 일치하지 않습니다.')
# 일치하지 않으면 '로그인을 다시 시도하세요."

4. 논리연산자

  • not, and, or 순으로 우선 판단한다!
  • 첫번째 값으로 결과가 확인하면 두번째 값은 평가하지 않는 단락평가를 한다! 
  • ~ & | : 비트연산자 - 비트 단위로 논리 연산 (not, and, or 과 다른 방식으로 작동)
arr = [1,2,3]


*논리연산자

if 1 in arr or 2 in arr or 3 in arr :
    print('참')
else :
    print('거짓')
    
*비트연산자
if (1 in arr) | (2 in arr) | (3 in arr) :
    print('참')
else :
    print('거짓')
    
    
&    대응되는 비트가 모두 1이면 1을 반환함. (비트 AND 연산)
|    대응되는 비트 중에서 하나라도 1이면 1을 반환함. (비트 OR 연산)
^    대응되는 비트가 서로 다르면 1을 반환함. (비트 XOR 연산)
~    비트를 1이면 0으로, 0이면 1로 반전시킴. (비트 NOT 연산)