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 연산)