[파이썬 알고리즘 4강] 백준 단계별로 풀어보기 2.1 < 조건문 1>
안녕하세요
스터디에서 같이 공부한 내용을 정리하고자 글을 쓰게 되었습니다~
도움되셨으면 좋겠네요!
본 글에 나와있는 코드들을 직접 쳐보고 실행시키면서
여러가지로 꼬아가며 다양한 실험을 반복하시면
어느새 파이썬이 익숙하고 재밌으실 겁니다~! 화이팅!
참고로 중간 중간 걸려있는 링크들은 글을 읽으시면서 모르는 함수, 문법 등이 나왔을 때 들어가셔서
글에 나온 정도만 이해하실 수 있으면 됩니다. (꼼꼼하게 보실 필요 없어요!)
1. 파이썬 조건문 - 조건식
(1) 조건식의 종류
① 조건문의 기본적인 형태
지금 까지 데이터의 입력/출력에 대해 공부했고,
앞으로는 입력받은 데이터를 효과적으로 가공하는 방법론에 대하여 이야기 하겠습니다~
일단 문제 상황 먼저 살펴 보시죠. 조건문을 사용해야 하는 일반적인 상황입니다!
"5000원인 아메리카노를 마시려고 한다. 이때, 소지한 돈이 입력될 때 아메리카노를 주문할 수 있는지 확인하는 프로그램을 짜보자. "
money = int(input()) # 소지한 금액이 정수형으로 입력됨
if money >= 5000 : # 소지한 금액이 5000원보다 많을 경우
print('구매 가능합니다.')
else : # 그렇지 않을 경우
print('돈이 부족합니다.')
위와 같이 if / else 문을 이용하면 손 쉽게 짤 수 있으며, 대부분 아래와 같은 형태를 가지고 있습니다.
위 과정에서 제일 중요한 부분은 <조건문> 인데, <조건문>이 참이라면 아래 문장들을 수행하고
거짓이라면, elif 나 else 로 건너 뛰게 됩니다. (조건문 : https://wikidocs.net/20 )
이제 조건문의 3가지 종류 (1. 비교연산자, 2. 논리 연산자, 3. 포함 연산자)에 대하여 공부하겠습니다~
② 파이썬의 비교 연산자
Operator | Description | Example(a=10, b=20) |
== | 값이 동일하다 | (a == b) -> False (0) |
!= | 값이 동일하지 않다 | (a != b) -> True (1) |
> | 왼쪽 값이 오른쪽 값 보다 크다 | (a > b) -> False (0) |
< | 왼쪽 값이 오른쪽 값 보다 작다 | (a < b) -> True (1) |
>= | 왼쪽 값이 오른쪽 값 보다 크거나 동일하다. |
(a >= b) -> False (0) |
<= | 왼쪽 값이 오른쪽 값 보다 작거나 동일하다. |
(a <= b) -> True (1) |
비교연산자는 보통 두 정수형의 대소비교를 할 때, 혹은 두 데이터가 같은지 확인 할 때 많이 사용합니다.
아래 예시를 직접 따라 쳐보시면 금방 이해 되실 겁니다.
# 비교 연산의 판단 결과 : True(참) 아니면 False(거짓)
print(3 > 1)
print(int(3 > 1)) # int형으로 변환시 True -> 1 / False -> 0 !!!
비교 연산의 경우 당연하게 True 혹은 False 값만을 반환 하며 이는 컴퓨터 상에서 각각 1과 0으로 반환됩니다.
# 숫자의 등위 비교
print(2 == 3)
# 문자열의 등위 비교
print('가12' == '가12')
# 리스트의 등위 비교
print([1, 2, 3] == ['1', '2', '3'])
또한, 등위 연산자 ('==')를 이용한 다양한 자료형에 대해 서로 같은지 다른지를 판단할 수 있습니다.
# 부등호 사용하기
print(10 > 20) # 10이 20보다 큰지 비교
print(10 < 20) # 10이 20보다 작은지 비교
print(10 >= 10) # 10이 10보다 크거나 같은지 비교
print(10 <= 10) # 10이 10보다 작거나 같은지 비교
다음으로는, 논리 연산자를 살펴보도록 하겠습니다.
③ 파이썬의 논리 연산자
Operator | Description | Example(a = True, b = False) |
and | 둘다 참일때만 참 | (a == b) -> False (0) |
or | 하나만 참이여도 참 | (a != b) -> True (1) |
not | 논리 상태를 반전 | (a > b) -> False (0) |
논리 연산자는 보통 조건이 2개 이상의 조건을 혼합할 때 많이 사용합니다.
마찬 가지로, 아래 예시를 직접 따라 쳐보시면 금방 이해 되실 겁니다.
# 논리 AND
print(True and True) # True
print(True and False) # False
print(False and True) # False
print(False and False) # False
# 논리 OR
print(True or True) # True
print(True or False) # True
print(False or True) # True
print(False or False) # False
# 논리 NOT
print(not True) # False
print(not False) # True
위의 3가지 예시 모두 익숙하시리라 생각합니다. 이제는 앞선 "비교 연산자"와 "논리 연산자"를 혼합해 보도록 하겠습니다.
④ 파이썬의 비교 연산자와 논리 연산자의 혼합
대부분의 경우 논리 연산자는 비교 연산와 같이 쓰입니다. 아래 예시들 처럼요!
# 비교 연산자와 논리 연산자의 혼합
print(10 == 10 and 10 != 5) # True and True -> True
print(10 > 5 or 10 < 3) # True or False -> True
print(not 10 > 5) # not True -> False
print(not 1 is 1.0) # not False -> True
#'is'는 두 데이터가 동일한 객체인지(같은 주소인지) 확인하는 연산자
이를 if문에 다음과 같이 응용할 수 있습니다.
a = int(input('a : '))
if a > 0 and a < 10 :
print('a는 한자리 자연수 입니다.')
else :
print('a는 한자리 자연수가 아닙니다.')
다음시간에는 '리스트와 조건문'을 주제로 <조건문>에 대해 마무리 하도록 하겠습니다.
'밤샘코딩 > 백준 단계별로 풀어보기 (이론)' 카테고리의 다른 글
[파이썬 알고리즘 6강] 백준 단계별로 풀어보기 3.1 < for문 1> (0) | 2022.11.15 |
---|---|
[파이썬 알고리즘 5강] 백준 단계별로 풀어보기 2.2 < 조건문 2> (0) | 2022.11.15 |
[파이썬 알고리즘 3강] 백준 단계별로 풀어보기 1.3 < 연산자 > (1) | 2022.11.14 |
[파이썬 알고리즘 2강] 백준 단계별로 풀어보기 1.2 < 출력 > (0) | 2022.11.14 |
[파이썬 알고리즘 1강] 백준 단계별로 풀어보기 1.1 < 입력 > (1) | 2022.11.14 |
댓글
이 글 공유하기
다른 글
-
[파이썬 알고리즘 6강] 백준 단계별로 풀어보기 3.1 < for문 1>
[파이썬 알고리즘 6강] 백준 단계별로 풀어보기 3.1 < for문 1>
2022.11.15 -
[파이썬 알고리즘 5강] 백준 단계별로 풀어보기 2.2 < 조건문 2>
[파이썬 알고리즘 5강] 백준 단계별로 풀어보기 2.2 < 조건문 2>
2022.11.15 -
[파이썬 알고리즘 3강] 백준 단계별로 풀어보기 1.3 < 연산자 >
[파이썬 알고리즘 3강] 백준 단계별로 풀어보기 1.3 < 연산자 >
2022.11.14 -
[파이썬 알고리즘 2강] 백준 단계별로 풀어보기 1.2 < 출력 >
[파이썬 알고리즘 2강] 백준 단계별로 풀어보기 1.2 < 출력 >
2022.11.14