2주 - 3장 조건문
조건문
불 만들기 : 비교 연산자
여섯개의 비교연산자를 사용하여 만들어냄
1
2
3
4
5
6
print(10==100) # False
print(10!=100) # True
print(10>100) # False
print(10<100) # True
print(10<=100) # True
print(10>=100) # False
문자열에도 비교연산자 사용가능
1
2
3
4
print("가방" == "가방") # True
print("가방" != "하마") # True
print("가방" < "하마") # True
print("가방" > "하마") # False
불 연산하기 : 논리 연산자
not연산자 : 단항연산자로 참과 거짓을 반대로 출력할때 쓰임
1
2
3
4
x = 10
under_20= x<20
print("under_20",under_20) # True
print("not under_20", not under_20) #Fals
and 연산자 or 연산자
and 연산자의 경우 양쪽 변의 값이 참일때 참을 출력함 (그리고)
or 연산자의 경우 한쪽 변만 참이여도 참을 출력함 (또는)
if조건문이란
조건에 따라 실행을 조정할 수 있는 구문 IF조건문
파이썬의 경우 반드시 4칸 들여쓰기로 구조를 만들어줘야함
자바스크립트와 다른 여타 언어와 달리 {}를 쓰지 않음
1
2
3
4
5
if True:
print("True입니다.")
print("정말 True입니다.") #실행됨
if False:
print("False입니다.") #실행되지 않음
날짜 시간 활용하기
모듈이라는 기능 활용 datetime기능을 가져와 시간을 활용가능함
1
2
3
4
5
6
7
8
9
10
11
import datetime
now = datetime.datetime.now()
#출력합니다.
print(now.year , "년")
print(now.month , "월")
print(now.day , "일")
print(now.hour , "시")
print(now.minute , "분")
print(now.second , "초")
오전 오후 구분해보기 now.hour을 12를 기점으로 구분!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import datetime
now = datetime.datetime.now()
if now.hour < 12:
print("오전 {}년 {}월 {}일 {}시 {}분 {}초".format(
now.year,
now.month,
now.day,
now.hour,
now.minute,
now.second,
))
else:
print("오후 {}년 {}월 {}일 {}시 {}분 {}초".format(
now.year,
now.month,
now.day,
now.hour,
now.minute,
now.second,
))
계절 구분 해보기
1
2
3
4
5
6
7
8
if 3 <= now.month <=5 :
print(" 이번 달은 {}월로 봄입니다.".format(now.month))
if 6<= now.month <=8:
print(" 이번 달은 {}월로 여름입니다.".format(now.month))
if 9<= now.month <=11:
print(" 이번 달은 {}월로 가을입니다.".format(now.month))
if 12 or 1<=now.month <=2:
print(" 이번 달은 {}월로 겨울입니다.".format(now.month))
if~else 와 elif구문
차이점은 단 하나!
else의 경우 다른 조건문 외의 모든 경우일때 실행되고
elif의 경우 if조건문 외 새로운 조건들을 추가할때 사용된다.
else 조건문의 활용
if참 조건외 거짓 조건일때 실행시키고 싶은 부분을 else에 넣으면 됨
1
2
3
4
5
6
7
8
9
10
#짝수 홀수 구분
number = input("정수 입력 :")
#lastnumber 추출
last_number = int(number[-1])
if last_number%2 == 0:
print("입력한 숫자는 {}이며 짝수입니다.".format(number))
else:
print("입력한 숫자는 {}이며 홀수입니다.".format(number))
elif구문
조건이 딱 두가지만으로 나누어지지 않습니다.
따라서 3개 이상의 조건을 사용하는 방법으로 elif구문을 사용하게 됩니다.
예시 계절을 구하는 구문
1
2
3
4
5
6
7
8
if 3 <= now.month <=5 :
print(" 이번 달은 {}월로 봄입니다.".format(now.month))
elif 6<= now.month <=8:
print(" 이번 달은 {}월로 여름입니다.".format(now.month))
elif 9<= now.month <=11:
print(" 이번 달은 {}월로 가을입니다.".format(now.month))
else
print(" 이번 달은 {}월로 겨울입니다.".format(now.month))
조건문을 효율적으로 사용하기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
score = float(input("학점입력"))
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("일반인")
elif 2.3<= score <2.8:
print("일탈을 꿈꾸는 소시민")
elif 1.75<= score <2.3:
print("오락문학의 선구자")
elif 1.0<= score <1.75:
print("불가축천민")
elif 0.5<= score <1.0:
print("자벌레")
elif 0<= score <0.5:
print("플랑크톤")
elif score == 0:
print("시대를 앞서나간 혁명의 씨앗")
기존의 elif방법을 좀더 효율적으로 본다면
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
score = float(input("학점입력"))
if score ==4.5:
print("신")
elif 4.2<= score:
print("교수님의 사랑")
elif 3.5<= score:
print("현 체제의 수호자")
elif 2.8<= score:
print("일반인")
elif 2.3<= score:
print("일탈을 꿈꾸는 소시민")
elif 1.75<= score:
print("오락문학의 선구자")
elif 1.0<= score:
print("불가축천민")
elif 0.5<= score:
print("자벌레")
elif 0<= score:
print("플랑크톤")
else:
print("시대를 앞서나간 혁명의 씨앗")
조건 비교에서 범위를 모두 찾기보단 하위값 검사만 진행해서 조건문 실행 횟수를 반으로 줄인 방법
False로 변환되는 값
빈 컨테이너(빈 문자열,빈 바이트, 빈리스트 기타등등),NONE,숫자 0 등이 False로 변환됨
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# False로 변환되는 값
print (" # if 조건문에 0 넣기")
if 0 :
print("0은 True 로 반환됩니다.")
else:
print("0은 Flase로 변환됩니다.")
print (" # if 조건문에 빈 문자열 넣기")
if "" :
print("빈 문자열은 True 로 반환됩니다.")
else:
print("빈 문자열은 Flase로 변환됩니다.")
#모두 else구문이 실행됨
#0은 Flase로 변환됩니다.
#빈 문자열은 Flase로 변환됩니다.
PASS 키워드
골격만 잡아두고 나중에 구문을 완성시키고 싶을때 사용하는 키워드
에러를 발생시키지 않고 넘기기위해 사용됨
나중에 다시 확인하기 위해선 raise NotIMplementedError를 사용함
1
2
3
4
5
6
7
8
# PASS 키워드
number = input("정수입력")
number =int(number)
if number>0:
pass
else:
raise NotIMplementedError
This post is licensed under CC BY 4.0 by the author.