Python 논리 연산자

dpwl·2024년 4월 24일
0

Data Analysis

목록 보기
50/83

1. 논리 연산자

논리 연산자는 피연산자의 논리(True, False)를 이용한 연산이다.

논리 연산자 종류

  • and
  • or
  • not

1.1 and 연산

  • A and B: A와 B 모두 True인 경우만 결과값은 True이다.
print('{} and {}: {}'.format(True, True, (True and True)))
print('{} and {}: {}'.format(False, True, (False and True)))
print('{} and {}: {}'.format(True, False, (True and False)))
print('{} and {}: {}'.format(False, False, (False and False)))

1.2 or 연산

  • A or B: A와 B 중 어느 하나만 True이면 결과 값은 True이다.
print('{} or {}: {}'.format(True, True, (True or True)))
print('{} or {}: {}'.format(False, True, (False or True)))
print('{} or {}: {}'.format(True, False, (True or False)))
print('{} or {}: {}'.format(False, False, (False or False)))

1.3 not 연산

  • not A: A의 상태를 부정하는 결과를 나타낸다.
print('not {}: {}'.format(True, (not True)))
print('not {}: {}'.format(False, (not False)))


Q1. '백신 접종 대상자는 20세 미만 또는 65세 이상자에 한합니다.'를 논리 연산자를 이용하여 코딩하기

[실행결과]

나이 입력: 20
age: 20, result: False

나이 입력: 65
age: 65, result: True

나이 입력: 45
age: 45, result: False
age = int(input('나이 입력: '))
vaccine = (age < 20) or (age >= 65)

print('age: {}, result: {}'.format(age, vaccine))

Q2. 국어, 영어, 수학 점수를 입력하고 평균이 70점 이상이면 True를 출력하는 코드를 작성하기 (단, 과목별 점수가 최소 60이상인 경우에 True를 출력한다.)

[실행결과]
국어 점수: 85
영어 점수: 90
수학 점수: 55
평균: 76.66666666666667, 결과: True
국어: 85, 결과: True
영어: 90, 결과: True
수학: 55, 결과: False
과락 결과: False
최종 결과: False
avgPass = 70
subjectPass = 60

kor = int(input('국어 점수: '))
eng = int(input('영어 점수: '))
math = int(input('수학 점수: '))

avg = (kor + eng + math) / 3
avgResult = avg >= avgPass

korResult = kor >= subjectPass
engResult = eng >= subjectPass
mathResult = math >= subjectPass

subjectPass = korResult and engResult and mathResult

print('평균: {}, 결과: {}'.format(avg, avgResult))
print('국어: {}, 결과: {}'.format(kor, korResult))
print('영어: {}, 결과: {}'.format(eng, engResult))
print('수학: {}, 결과: {}'.format(math, mathResult))
print('과락 결과: {}'.format(subjectPass))

print('최종 결과: {}'.format(avgResult and subjectPass))

profile
거북선통통통통

0개의 댓글