false 로 변환되는 값
if 조건문의 매개변수에 불이 아닌 다른 값이 올 때는 자동으로 이를 불로 변환하게 됩니다.
Flase 로 변환되는 값은
None, 0, 0.0, 빈 컨테이너 입니다.
컨테이너는 어떤 것을 포함한다는 뜻이에요. 그렇기 때문에 빈 컨테이너는 값이 없는 상태예요.
빈 문자열 (따옴표와 따옴표 사이. ""), 빈 바이트열, 빈 리스트, 빈 튜플, 빈 딕셔너리 등)
이 이외에는 모두 True 로 변환됩니다.
만약 어떤 데이터가 True 인지 False 인지 모를 경우에는
bool( ) 함수를 씁니다.
bool(x) : x가 뭘로 해석되는지 True 혹은 False 로 알려줍니다.
pass 키워드
나중을 위해서 비워두는 구문입니다. 가령 프로그래밍을 하며 전체 골격을 잡아 놓고 세부 사항을 입력한다고 할 때
if 조건문을 입력한 뒤에 어떤 결과를 출력할지 정해지지 않으면 실행자체가 되지 않습니다.
그럴 때 pass 키워드를 입력하면 아무일도 벌어지지 않고 미구현 상태로 저장해두는 것입니다.
즉, '진짜로 아무것도 안함' 또는 ' 곧 개발하겠음' 의 상태예요.
age = 20
if age < 25 :
pass
만약 pass 키워드를 입력해두고도 잊어버리고 미구현 상태라면
pass 해둔 것을 잊어버리지 않도록 강제로 오류를 발생시키는 방법도 있습니다.
raise NotImplementedError 를 사용하면 "아직 구현하지 않은 부분입니다!"를 강제로 발생시키는 거예요.
코드를 실행하면 정상적으로 실행되다가 미구현 구역에 들어서는 순간에 NotImplementedError 오류를 발생시키기 때문에 잊어버리지 않을 수 있겠죠.
raise 란 일부러 에러 내기 입니다.
number = int(input ("정수 입력: "))
if number > 0 :
raise NotImplementedError # 아직 미구현 상태. 이 부분에서 NotImplementedError 오류가 발생합니다.
여기까지 확인한 뒤에지 지금까지 본 if 구문들을 정리해볼게요.
else 구문 | if 조건문 뒤에 사용, if 조건문의 조건이 거짓일 때 실행됩니다. |
elif 구문 | if 조건문과 else 구문 사이에 입력하며, 여러 개의 조건문을 연결해서 사용할 때 적절합니다. |
False 값 | if 조건문의 조건식에서 False 로 변환되는 값은 None, 0, 0.0, 빈 컨테이너 입니다. |
pass 키워드 | 프로그래밍의 전체 골격을 잡기 위해서, 아무것도 실행하지 않는 미구현 상태로 넘어간다는 키워드입니다. |
그럼 지금까지 배운 것을 바탕으로 간단한 대화 프로그램을 만들어볼게요.
안녕 혹은 안녕하세요 처럼 '안녕' 이 들어가는 입력에 '안녕하세요' 를 대답하거나
몇 시냐는 질문에 시간을 대답할 수 있는 대화 프로그램이에요.
입력을 받고 in 연산자를 이용해서 대답을 받은 문장에 어떤 단어가 포함되어 있는지를 체크하면 쉽게 할 수 있어요.
print("당신과 대화를 하겠다.")
자 만들어 봅시다.
import datetime
now = datetime.datetime.now()
몇 시인지를 대답해주기 위해서 프로그램에 import 함수를 통해 현재 시간에 대한 자료를 받아올게요.
그럼 이제 코딩의 사전 세팅 완료.
입력받을 수 있는 input 입력창을 만들고
talk = input("할 말이 있는가? > ")
이곳에 입력하는 것은 talk 이라고 하는 변수에 저장했어요.
그 뒤에는 in 연산자를 통해서 대답하려는 단어가 포함된 내용에 대해 답을 작성하는 식으로 만듭니다.
if "안녕" in talk:
print("안녕 못해, 졸려.")
elif "배고파" in talk:
print("밥은?")
elif ("지금" and "몇 시" in talk) or ("지금" and "몇시" in talk):
print("지금은 {}시 {}분이야.".format(now.hour, now.minute))
만약 현재 지정된 대화 외의 다른 말을 입력하면 입력한 말을 고대로 다시 말하도록 해놓을게요.
else :
print(talk)
짠.
그럼 이제 실행해보겠습니다.
똑똑하게 잘 대답해주네요... 이런 식으로 정말정말 간단한 키워드식 대화 프로그램을 만들었어요.
이 다음으로는 어떤 값을 입력했을 때 해당 값으로 나누어 떨어지는 지 확인할 수 있는 프로그램을 만들어볼게요.
숫자를 입력하면 그 숫자가 2, 3, 4, 5로 나누어서 떨어지는지 확인하고 출력하는 프로그램이에요.
ex)
정수를 입력해주세요 : 234897568
234897568 는 2로 나누어 떨어지는 숫자입니다.
234897568 는 3로 나누어 떨어지지 않는 숫자입니다.
234897568 는 4로 나누어 떨어지는 숫자입니다.
234897568 는 4로 나누어 떨어지지 않는 숫자입니다.
이렇게요.
그럼 하단에 코드를 작성해볼게요.
print("숫자가 나누어 떨어지는지 보자.")
number = int(input("정수를 입력해주세요 : "))
if number % 2 == 0 :
print(number,"는 2로 나누어 떨어지는 숫자입니다.")
else :
print(number,"는 2로 나누어 떨어지지 않는 숫자입니다.")
if number % 3 == 0 :
print(number,"는 3로 나누어 떨어지는 숫자입니다.")
else :
print(number,"는 3로 나누어 떨어지지 않는 숫자입니다.")
if number % 4 == 0 :
print(number,"는 4로 나누어 떨어지는 숫자입니다.")
else :
print(number,"는 4로 나누어 떨어지지 않는 숫자입니다.")
if number % 5 == 0 :
print(number,"는 5로 나누어 떨어지는 숫자입니다.")
else :
print(number,"는 4로 나누어 떨어지지 않는 숫자입니다.")
값을 계산해볼게요.
짠!
여기까지 if문을 이용해서 간단한 프로그램을 코딩해봤어요.
조건문은 앞으로도 많이 쓰인다고 하니까 확실하게 공부해두려구요.
아자자~ 파이팅!
'파이썬 > 파이썬 입문 공부일지' 카테고리의 다른 글
파이썬 공부일지 14. for 반복문! (0) | 2022.10.12 |
---|---|
파이썬 공부일지 13. 리스트! (0) | 2022.10.12 |
파이썬 공부일지 11. if 조건문 예제와 else, elif 활용! (0) | 2022.10.12 |
파이썬 공부일지 10. 불 자료형과 if 조건문! (0) | 2022.10.12 |
파이썬 공부일지 9. 숫자 · 문자열 함수! (2) | 2022.10.11 |