10강 if문(Python Algorithm 10 if else)
부제 : 알고리즘을 배우면서 파이썬 기초부터 RPG까지 정복
내용 : 초중고 또는 코딩 기초 입문자를 위한 누구나 따라 배울 수 있는 Python Algorithm 프로그램 기초 강의
1. 파이썬 기초 입문자
2. 알고리즘 기초에서 수학 기초
3. 기초 코딩
4. Text RPG Project
[동영상강의]
10. if 문(if)
조건문인 if 문은 매우 유용하고 프로그래밍 언어를 배울 때 for 와 더불어 가장 많이 사용하는 문법입니다.
왠만한 프로그램은 for 와 if 로 짠다고 생각하면 됩니다.
if 문 기본 구조
if 조건문: # : 을 반드시 해야 합니다.
수행할 문장1 # 들여쓰기(indentation)는 TAB 키로 한 번
수행할 문장2 # 또는 Space bar로 4번
...
else:
수행할 문장A
수행할 문장B
...
조건문을 테스트해서 참이면 if문 바로 다음의 문장(if 블록)들을 수행하고, 조건문이 거짓이면 else문 다음 의 문장(else 블록)들을 수행하게 됩니다.
그러므로 else문은 if문 없이 독립적으로 사용할 수 없습니다.
>>> if True:
... print("This is TRUE.")
...
This is TRUE.
>>>
>>> if 1:
... print("This is TRUE.")
...
This is TRUE.
>>>
True 는 1 과 같으며 참이라는 뜻입니다.
참이면 print 를 실행하라는 뜻이겠죠.
>>> if False:
... print("This is False.")
...
>>>
False 이므로 if 문 블럭 안에 있는 print를 실행하지 않으므로 아무것도 출력이 되지 않습니다.
>>> if 0:
... print("This is False.")
...
>>>
숫자 0은 False 에 해당하므로 아무것도 출력이 되지 않습니다.
>>> if None:
... print("This is True.")
...
>>>
None 은 False 에 해당하므로 아무것도 출력이 되지 않습니다.
좀 더 나아가 else 와 같이 사용해 봅시다.
내용이 많아지니 Visul Studio Code 에서 작성합시다.
if_test.py
if True:
print("True is True.")
else:
print("True is False.")
if False:
print("False is True.")
else:
print("False is False.")
if None:
print("None is True.")
else:
print("None is False.")
if 1:
print("1 is True.")
else:
print("1 is False.")
if 0:
print("0 is True.")
else:
print("0 is False.")
True is True.
False is False.
None is False.
1 is True.
0 is False.
숫자는 0이면 거짓이고 나머지(정수 : 2진수(0b), 8진수(0o), 16진수(0x), 실수)는 모두 참입니다.
if 0b0101: # 2진수
print("0b0101 is True.")
else:
print("0b0101 is False.")
if 0o42: # 8진수
print("0o42 is True.")
else:
print("0o42 is False.")
if 0xff: # 16진수
print("0xff is True.")
else:
print("0xff is False.")
if 3.14: # 실수
print("3.14 is True.")
else:
print("3.14 is False.")
0b0101 is True.
0o42 is True.
0xff is True.
3.14 is True.
문자열은 내용이 있으면 참이고 내용이 없으면 거짓입니다.
if "Python": # 문자열
print("Python is True.")
else:
print("Python is False.")
if "": # 빈문자열
print("Empty is True.")
else:
print("Empty is False.")
if " ": # 한칸 띄우기
print("One space is True.")
else:
print("One space is False.")
Python is True.
Empty is False.
One space is True.
다양한 조건을 판단하는 elif
if와 else만으로는 다양한 조건을 판단하기 어렵습니다.
다음과 같은 예를 보더라도 if와 else만으로는 조건을 판단하는 데 어려움을 겪게 됩니다.
총이 있으면 몬스터를 공격하고, 총이 없으면 칼로 공격을 하고 총도 칼도 없으면 도망을 간다
gun = 0
knife = 1
if gun:
print("I attack Orc with gun.")
else:
if knife:
print("I attack Orc with knife.")
else:
print("Run away!!!")
I attack Orc with knife.
elif를 사용해서 다음과 같이 바꿀 수 있습니다.
gun = 0
knife = 1
if gun:
print("I attack Orc with gun.")
elif knife:
print("I attack Orc with knife.")
else:
print("Run away!!!")
if elif else 기본구조
if <조건문>:
<수행할 문장1>
<수행할 문장2>
...
elif <조건문>:
<수행할 문장1>
<수행할 문장2>
...
elif <조건문>:
<수행할 문장1>
<수행할 문장2>
...
...
else:
<수행할 문장1>
<수행할 문장2>
...
elif는 개수에 제한 없이 사용할 수 있습니다.
이외에 if 조건문에서 필히 알아야 할 연산자(Operator) 는 따로 강의를 준비하도록 하겠습니다.
'Python > 닭치고 Algorithm' 카테고리의 다른 글
12강 최댓값찾기(Python Algorithm 12 Maximum value) (4) | 2020.04.02 |
---|---|
11강 재귀호출 sum(Python Algorithm 11 Recursive call sum) (0) | 2020.03.25 |
9강 for문(Python Algorithm 9 for) (2) | 2020.03.22 |
8강 자료형-문자열(Python Algorithm 8 Data Type-String) (0) | 2020.03.20 |
7강 자료형-숫자형 bool(Python Algorithm 7 Data Type-Number bool) (0) | 2020.03.01 |
댓글