본문 바로가기
Programming/Python

7. 조건문

by IT learning 2021. 3. 10.
728x90

이번엔 조건문을 살펴보겠다.

 

먼저 조건문을 살펴보기 전에, 기본적으로 알아야 할 불리언 연산자를 보자.

 

# not 연산자 조합하기
x = 10
under_20 = x < 20
print("under_20: ", under_20)
print("not under_20: ", not under_20)
# not 은 단항 연산자이다

위의 코드는 not 연산자이다.

not 연산자는 단항 연산자로, 참과 거짓을 반대로 바꿀 때 사용한다.

 

# 단항 연산자는 피연산자가 한 개라는 말이고, 이항 연산자는 피연산자가 두 개라는 말이다.

 

결과는 원래대로 출력되는 첫 줄 print는 True 가 나오지만,

not 연산자를 사용한 두번째  print 에는 False 가 나오게된다. 

 

not 이외에도 참과 거짓을 구분하는 연산자는 and, or 이 존재한다.

if 조건문

# 조건문의 기본 사용

# 입력을 받습니다.

number = input("정수 입력 > ")
number = int(number)
# 양수 조건
if number > 0:
    print("양수입니다!")

    
# 음수 조건
if number < 0:
    print("음수입니다!")
    

# 0 조건
if number == 0:
    print("0입니다!")

if 조건문의 가장 단순한 버전을 가지고 와 보았다.

number에 input으로 입력을 받고 그 수가 0 이상일 경우 양수, 아닐경우 음수, 0 일경우엔 0이라고 출력하는 간단한 프로그램이다.

 

이렇게 if 조건문은 개발자가 원하는 조건을 넣어 원하는

결과를 출력할수 있게끔 해주는 문장이다.

위 코드의 출력본이다.

 

# 오전과 오후를 구분하는 프로그램

import datetime

now = datetime.datetime.now()

if now.hour < 12 :
    print("현재 시각은 {}시로 오전입니다!".format(now.hour))
    
if now.hour >= 12 :
    print("현재 시각은 {}시로 오후입니다!".format(now.hour))

if 문으로 지금 시각이 오전인지, 오후인지를 판단하여 출력하는 프로그램 또한 작성이 가능하다.

 

import로 datetime(시간과 날짜에 관련된 기능을 제공하는 모듈)을 가져와 현재 시간을 얻고,

그 시간으로 현재 시간을 체크해 조건문을 돌린다.

위 코드의 출력본이다.

 

# 나머지 연산자를 활용해서 짝수와 홀수 구분
number = input("정수 입력 > ")

number = int(number)

if number % 2 == 0 :
    print("짝수입니다")
else :
    print("홀수입니다")

if 에 같이 사용할 수 있는 문구는 else, elif가 존재한다.

먼저 else를 보겠다.

 

else는 if에 해당되는 조건에 부합하지 않은 입력들이 들어오는 곳이다.

 

위의 코드는 숫자가 짝수인지 홀수인지 2로 나눈 나머지를 이용하여 구분하는 코드이다.

 

이렇게 사용이 가능하다.

 

# 계절 구하기
import datetime

now = datetime.datetime.now()

month = now.month

if 3 <= month <= 5 :
    print("봄입니다")
elif 6 <= month <= 8 :
    print("여름입니다")
elif 9 <= month <= 11 :
    print("가을입니다")
else :
    print("겨울입니다")

두 번째로는 elif다.

elif 는 if 의 조건과는 다른 조건으로 풀어나간다.

if의 조건에 부합하지는 않지만, elif로 이은 조건에 맞는지 체크 할 수 있게 해준다.

어김없이 나머지 것들은 else로 빠지게 한다.

 

위 코드는 아까 사용했던 datetime 모듈을 이용하여 현재 달의 계절을 구하는 프로그램이다.

필자의 현재 날짜는 3월이므로 봄이 나오면 정상이다.

 

내 전역은 언제오냐;

위 코드의 출력본이다.

 

import datetime
time = datetime.date.today() # 현재 날짜
day = datetime.date(2021,5,16) # 전역일
value = day - time # D-Day
print(value.days)

갑자기 생각나서 그냥 만들어봤다.

 

datetime 모듈에 date는 아마도 날짜 관련 기능인가보다.

 

date.today()를 하면 오늘 날짜가 호출된다.

 

date(XXXX,XX,XX)를 하게 되면 임의로 설정한 날짜가 나온다.

 

그리고 설정한 날짜와 현재 날짜를 빼면...

 

D-Day 가 나오게 된다.

 

그냥 전역일 기록해봤다.

 

 

# pass 키워드를 사용한 미구현 부분 입력
# 입력을 받습니다
number = input('정수 입력 > ')
number = int(number)

if number > 0 :
    # 양수일 때 : 아직 미구현
    pass
else :
    # 음수일 때 : 아직 미구현
    pass

C++ 에서 continue와 같은 역할을 하는 것으로 파이썬은 pass 를 사용한다.

 

조건문으로 들어가서 역할을 수행하고 난 뒤에, 조건문을 나가고 싶을 때 pass 를 사용한다면 조건문을 나가게 된다.

 

 

오늘은 if,else, boolean 연산자를 알아보았다.

 

 

728x90

'Programming > Python' 카테고리의 다른 글

9. 딕셔너리와 반복문  (0) 2021.03.12
8. 리스트와 반복문  (0) 2021.03.12
6. 숫자와 문자열의 다양한 기능  (0) 2021.03.08
5. 변수와 입력  (0) 2021.03.07
4. 자료형과 문자열, 숫자  (0) 2021.03.07

댓글

IT_learning's Commit