파이썬 기초

[파이썬 기초] 9. 논리 연산자

외양간찾는 새끼소 2025. 2. 27. 22:44

1. 영화관 자격 확인

우리는 if elif else를 배웠어요. 아직 조잡하지만 코딩을 할 수 있어요!!

우리의 실력으로 영화관 자격 확인 프로그램을 만들어 봅시다. 다음 조건 중 하나라도 만족하면 영화를 관람할 수 있습니다:

  1. 나이가 19세 이상임
  2. 보호자가 동행함
  3. VIP 회원임

관람객의 나이, 보호자의 동행 여부, VIP회원 여부를 입력 받은 후 해당 관람객이 영화를 관람 할 수 있는지 없는지 확인하는 프로그램을 만들어 봅시다.

<영화관 자격 확인 프로그램 기획>

- 관람객의 나이를 입력 받습니다.

- 보호자의 동행 여부를 입력 받습니다. 
이때 동행 했으면 "yes" 안했으면 "no"를 입력합니다.

- VIP 회원 유무를 입력 받습니다.
이때 회원이면 "yes" 아니면 "no"를 입력합니다.

- 관람 할 수 있으면 True, 할 수 없으면 False 를 출력해 주세요.

< 정답 코드 >

age = int(input())
guardian = input()
vip = input()

qualification = False

if age >= 19:
	qualification = True
	
if guardian == "yes":
	qualification = True
	
if vip == "yes":
	qualification = True
	
print(qualification)

2. or

위 프로그램을 if를 연달아 사용해서 코딩하는 것도 좋은 방법입니다. 하지만 모든 if가 동일한 코드를 실행 시키는데 너무 반복해서 적는 느낌이 들죠. 이런 상황에서 or 명령어를 알고 있으면 코드를 더 간결하고 깔끔하게 작성할 수 있습니다.

if (조건1) or (조건2) or (조건3):
	코드 ...

위 코드의 의미는 조건1 또는 조건2 또는 조건 3 중 하나라도 만족하는 것이 있으면 코드 …을 실행시켜라 라는 의미 입니다.

영화관 자격 프로그램에 이를 적용해보면 아래 코드처럼 나올 것입니다.

age = int(input())
guardian = input()
vip = input()

qualification = False

if (age >= 19) or (guardian == "yes") or (vip == "yes"):
	qualification = True
	
print(qualification)

이렇게 or을 사용하면 훨씬 더 간결하게 코드를 짤 수 있습니다.


3. and

or까지 배웠으니 자신감 뿜뿜느낌으로 미니미니 프로젝트를 하나 더 해보죠. 선생님은 점수를 입력하면 알아서 성적우수자를 판단하는 프로그램을 만들기로 했습니다. 아래 기획서를 보고 코드를 작성해주세요. (and 배운다고 and 사용하려 하지 마세요. and 없이도 여러분은 충분히 구현 가능합니다.)

<성적 우수자 판단 프로그램 기획>
- 영어 성적과 수학 성적을 입력받습니다.
- 영어 성적과 수학 성적 모두 90점 이상이면 "성적 우수자"를 출력해 줍니다.
- 영어 성적과 수학 성적 모두 85점 이상이면 "성적 중수자"를 출력해 줍니다.

< 정답 코드 >

math_score = int(input())
en_score = int(input()

if math_score >= 90:
	if en_score >= 90:
		print("성적 우수자")
	elif en_score >= 85:
		print("성적 중수자")
elif math_score >= 85:
	print("성적 중수자")
if (조건1) and (조건2) and (조건3):
	코드 ...

and 사용법을 배워 봅시다. and를 사용하여 조건을 연결하면 조건 1, 조건 2, 조건 3 모두 만족해야만 코드를 실행해라 라는 명령어가 됩니다.

위 미니프로젝트를 and를 사용하여 해결하면 아래와 같습니다.

math_score = int(input())
en_score = int(input()

if (math_score >= 90) and (en_score >= 90):
	print("성적 우수자")

elif (math_score >= 85) and (en_score >= 85):
	print("성적 중수자")

4. not

if not(조건):
	코드 ...

not은 “조건을 만족 못하는 경우 코드를 실행시켜라” 라는 의미입니다.

코드 사용 예시를 보면 아래와 같습니다.

user_name = input()

if not(user_name == "이선호"):
	print("넌 누구냐?")
	

'파이썬 기초' 카테고리의 다른 글

[파이썬 기초] 10. 리스트  (0) 2025.02.28
[파이썬 기초] 11. 리스트 함수  (0) 2025.02.28
[파이썬 기초] 8. elif 와 else  (0) 2025.02.27
[파이썬 기초] 7. if문  (0) 2025.02.27
[파이썬 기초] 6. 비교연산자  (0) 2025.02.27