컴퓨터 & 코딩/Python

[혼공학습단 8기][혼공파] 2주차 미션

구로그 2022. 7. 13. 08:52
728x90
2주차 기본미션: p.137 3번 문제 풀고 본인이 태어난 해와 띠를 출력하는 결과값 화면 인증샷

왼: 내가 푼 것 / 오: 교재 정답 
각각의 결과값

교재 정답에서처럼 변수에서 최대한 다 쓰고 조건문을 간단하게 하는 게 더 좋은 것 같다.


2주차 선택미션: else 구문과 elif 구문 정리한 내용 포스팅하기

# else 구문: 조건문이 오로지 두 가지로만 구분될 때

if 조건: 
	#조건이 참일 때 실행할 문장
else:
	#조건이 거짓일 때 실행할 문장

# elif 구문: 조건이 세 개 이상일 때

if 조건A: 
	# 조건A가 참일 때 실행
elif 조건B:
	# 조건B가 참일 때 실행
elif 조건C:
	# 조건C가 참일 때 실행
else: 
	# 모든 조건이 거짓일 때 실행

if 조건문은 위에서 아래로 흐르기 때문에 위에서 이미 제외된 조건을 한 번 더 검사할 필요가 없다.

예를 들어 0 < a < b < c 일 때,

if number == c:
	print("dog")
elif b <= number < c:
	print( "bird")
elif a <= number < b:
	print("apple")
else 
	print("others")

이렇게 쓸 필요가 없이

if number == c:
	print("dog") 
elif b <= number  
	print("bird") 
elif c <= number
	print("apple") 
else
	print("others")

이렇게 구현하는 게 더 효율적이다.

앞에서 비교했던 것을 다음 단계에서 또 하지는 않는지 꼭 확인할 것!!

# 만약 if 조건문에 비교 연산자가 없고 변수만 놓여 있을 때,
False로 변환되는 값은 None, 숫자 0, 0.0, 빈 컨테이너(빈 문자열, 빈 바이트열, 빈 리스트 등) 이다.
(즉 어떤 조건에서 False 가 변환되면 그 다음 조건문으로 이동한다)

# pass 키워드
파이썬에서 if 조건문 사이에 아무 내용을 작성하지 않는다면 IndentationError(들여쓰기 오류)가 발생한다.

if a < 0: 
	pass
else:
	pass

그럴 때 이렇게 pass를 써준다. (아직 구현하지 않은 부분을 쓸 때) 그러면 그 부분은 그냥 지나가게 된다.

하지만 만약 그 구현하지 않은 부분을 잊어버릴까봐 걱정이 된다면,

if a < 0:
	raise NotImplementedError
else:
	raise NotImplementedError

이렇게 raise NotImplementedError를 사용하여 강제로 오류를 발생시켜서 까먹는 걸 방지할 수 있다!

반응형