개센개발
혼자 공부하는 파이썬 - 03 조건문 본문
03-1. 불 자료형과 if 조건문
Boolean : 불린 또는 불리언
불은 오직 True(참)와 False(거짓) 값만 가질 수 있다.
print(True)
True
print(False)
False
불 연산하기 : 비교 연산자
불은 비교 연산자를 통해 만들 수 있다.
파이썬에는 여섯 개의 비교 연산자가 있다.
== 같다 != 다르다 < 작다 > 크다 <= 작거나 같다 >= 크거나 같다 |
불 연산하기 : 비교 연산자
불끼리는 논리 연산자를 사용할 수 있다.
not 아니다 and 그리고 or 또는 |
not 연산자
not 연산자는 단항 연산자로 참과 거짓을 반대로 바꿀 때 사용한다.
실행하면 True와 False가 서로 바뀐다.
and 연산자와 or 연산자
and 연산자는 양쪽 변의 값이 모두 참일 때만 True를 결과로 낸다.
or 연산자는 둘 중 하나만 참이어도 True를 결과로 낸다.
if 조건문이란?
if 조건문은 조건에 따라 코드를 실행하거나 실행하지 않게 만들고 싶을 떄 사용하는 구문이다.
조건을 기반으로 실행의 흐름을 변경하는 것을 조금 어려운 용어로 조건 분기라고 부른다.
#날짜/시간과 관련된 기능을 가져온다.
import datetime
#현재 날짜/시간을 구한다.
now = datetime.datetime.now()
#출력
print(now.year, "년")
2024 년
print(now.month, "월")
1 월
print(now.day, "일")
28 일
hour = now.hour
minute = now.minute
print(hour, "시", minute, "분")
19 시 23 분
if now.hour < 12 :
print("오전입니다.")
if now.hour < 12 :
print("현재 시간은 {}시로 오전입니다.".format(now.hour))
if now.hour > 12 :
print("현재 시간은 {}시로 오후입니다.".format(now.hour))
현재 시간은 19시로 오후입니다.
#입력을 받는다.
n = input("정수 입력 > ")
정수 입력 > 1
#마지막 자리 숫자를 추출
last_ch = n[-1]
#숫자로 변환
last_ch = int(last_ch)
print(last_ch)
1
#짝수 확인
if last_ch == 0
SyntaxError: expected ':'
number = input("정수 입력 >")
정수 입력 >11
number = int(number)
if number % 2 == 0 :
print("{}는 짝수입니다.".format(number))
if number % != 0 :
SyntaxError: invalid syntax
if number % 2 != 0 :
print("{}는 홀수입니다.".format(number))
11는 홀수입니다.
03-2. if~else와 elif 구문
else 조건문의 활용
else 구문은 if 조건문 뒤에 사용하며 if 조건문의 조건이 거짓일 때 실행되는 부분이다.
if 조건 :
조건이 참일 떄 실행할 문자
else :
조건이 거짓일 때 실행할 문장
#입력을 받는다.
number = int(input("정수 입력 >"))
정수 입력 >19
print(type(number))
<class 'int'>
#조건문을 사용한다.
if number % 2 == 0 :
print("짝수입니다.")
else :
print("홀수입니다.")
홀수입니다.
elif 구문
세 개 이상의 조건을 연결해서 사용하는 방법이 필요한 경우도 있다.
elif 구문은 if 조건문과 else 굼누 사이에 입력하며 다음과 같은 형태로 사용한다.
if 조건 A :
조건 A가 참일 때 실행할 문장
elif 조건 B :
조건 B가 참일 떄 실행할 문장
elif 조건 C :
조건 C가 참일 때 시행할 문장
else :
모든 조건이 거짓일 때 문장
#날짜/시간과 관련된 기능을 가져온다.
import datetime
#현재 날짜/시간을 구하고
#쉽게 사용할 수 있게 월을 변수에 저장한다.
now = datetime.datetime.now()
month = now.month
#조건문으로 계절을 확인한다.
if 3 <= month <= 5 :
print("봄입니다.")
elif 5 < month <= 8 :
print("여름입니다.")
elif 8 < month <= 10 :
print("가을입니다.")
else :
print("겨울입니다.")
겨울입니다.
#변수를 선언
score = float(input("학점 입력 > "))
학점 입력 > 4.04
#조건문 작성
if score == 4.5 :
print("신")
elif 4.2 <= score < 4.5 :
print("교수님의 사랑")
elif 3.5 <= score < 4.2 :
print("현 체제의 수호자")
elif 2.8 <= score < 3.5 :
print("일반인")
else :
print("나도 몰라~")
현 체제의 수호자
False로 변환되는 값
if 조건문의 매개변수에 불이 아닌 다른 값이 올 때는 자동으로 이를 불로 변환해서 처리한다.
따라서 어떤 값이 True로 변환되고, 어떤 값이 False로 변환되는지 알고 있어야 코드를 이해할 수 있다.
False로 변환되는 값은 None, 숫자 0과 0.0, 빈 컨테이너(빈 문자열, 빈 바이트열, ,,) 이다.
이 외에는 모두 True로 변환되므로 위에 언급한 세가지만 기억하자~
PASS 키워드
코드를 살펴보던 중 pass 키워드를 만나면 '진짜로 아무것도 안함'
또는 '곧 개발하겠읍" 이라는 의미로 생각하면 됨.
*pass 키워드 외 ~
raise 키워드와 미구현 상태를 표현하는 NotImplementedError를 조합하여
raise NotImplementedError를 사용하면 "아직 구현하지 않은 부분"이라는 오류를 강제로 발생시킬 수 있다.
# 입력을 받는다.
n = input("정수 입력 > ")
정수 입력 > 12
n = int(n)
#조건문 사용
if n > 0 :
#양수일 때 : 아직 미구현 상태입니다.
raise NotImplementedError
else :
#음수일 때 : 아직 미구현 상태입니다.
raise NotImplementedError
Traceback (most recent call last):
File "<pyshell#195>", line 3, in <module>
raise NotImplementedError
NotImplementedError
도전문제
1. 간단한 대화 프로그램
조건문을 이용해서 한 마디 대화를 나눌 수 있는 프로그램을 만들어보기.
간단한 "안녕" 또는 "안녕하세요"를 입력하면 프로그램이 "안녕하세요"정도의 인사를 할 수 있게 해보고
"지금 몇 시야?" 또는 "지금 몇 시예요?"처럼 시간을 물어보면 시간을 응답할 수 있게 하기.
sayHello = input("입력 > ")
입력 > 안녕
if sayHello == "안녕" :
print("안녕하세요")
안녕하세요
Hello = input("입력 >")
입력 >안녕하세요
if Hello == "안녕하세요" :
print("안녕하세요")
안녕하세요
2. 나누어 떨어지는 숫자
숫자를 입력하면 숫자가 2, 3, 4, 5로 나누어 떨어지는지 확인하고 출력하는 프로그램을 구현해보기.
number = int(input())
273
if number % 2 == 0 :
print("{}는 2로 나누어 떨어지는 숫자입니다.".format(number))
else :
print("{}는 2로 나누어 떨어지는 숫자가 아닙니다.".format(number))
273는 2로 나누어 떨어지는 숫자가 아닙니다.
if number % 3 == 0 :
print("{}는 3으로 나누어 떨어지는 숫자입니다.".format(number))
else :
print("{}는 3으로 나누어 떨어지는 숫자가 아닙니다.".format(number))
273는 3으로 나누어 떨어지는 숫자입니다.
if number % 4 == 0 :
print("{}는 4로 나누어 떨어지는 숫자 입니다.".format(number))
else :
print("{}는 4로 나누어 떨어지는 숫자가 아닙니다.".format(number))
273는 4로 나누어 떨어지는 숫자가 아닙니다.
if number % 5 == 0 :
print("{}는 5로 나누어 떨어지는 숫자입니다.".format(number))
else :
print("{}는 5로 나누어 떨어지는 숫자가 아닙니다.".format(number))
273는 5로 나누어 떨어지는 숫자가 아닙니다.
'파이썬' 카테고리의 다른 글
혼자 공부하는 파이썬 - 05 함수 ① (0) | 2024.02.06 |
---|---|
혼자 공부하는 파이썬 - 04 반복문 ④ (2) | 2024.02.04 |
혼자 공부하는 파이썬 - 04 반복문 ③ (0) | 2024.02.03 |
혼자 공부하는 파이썬 - 04 반복문 ② (0) | 2024.02.03 |
혼자 공부하는 파이썬 - 04 반복문 ① (0) | 2024.01.28 |