목차.
- 조건 및 if문
- 들여쓰기 (Indentation)
- elif문
- else문
- 단축 if문
- 단축 if...else 문. (= 3항 연산자 = 조건적 표현식)
- and 키워드
- or 키워드
- 안긴 if문 (= 중첩 if문)
- pass 구문
※ Python엔 Switch 조건문 없음. if 조건문으로 다 해결.
조건 및 if문
1. Python은 수학의 일반적인 논리 조건 지원.
같음 : a == b
같지 않음 : a! = b
더 작음 : a < b
더 작거나 같음 : a <= b
더 큼 : a > b
더 크거나 같음 : a >= b
PS.
다른 언어와 달리, Python은 수학과 동일한 범위(구간) 표현 가능.
level = int(input("레벨 입력: "))
if 3<=level<=4:
print('정회원')
만약,
PHP 언어라면 위 핑크색 조건을 아래처럼 나눠 표현해야 함.
3 <= level and level <=4
2. 조건은 '조건문, 반복문' 등 여러 경우에 사용 가능.
(if문 예제)
a = 3
b = 4
if b > a:
print("b가 a보다 큼.")
3. 조건문의 여러 유형
(유형1)
if 조건 :
실행코드
(유형2)
if 조건 :
실행코드
else :
실행코드
(유형3)
if 조건 :
실행코드
elif 조건 :
실행코드
...
else :
실행코드
PS.
① if...elif...else는 반드시 소문자로 기재.
② 조건은 if와 한 칸 띄고 기재하며, 참/거짓 구분 가능해야 함.
③ 조건 뒤엔 반드시 : (콜론) 붙여야 함. 세미콜론 붙이면 안 됨.
④ 조건이 참일 때 실행할 코드는 줄바꿈 후 반드시 들여써야 함.
단, 실행코드가 1개일 땐 : (콜론) 뒤에 이어서 적어도 됨.
⑤ if...elif...else...는 들여쓰기 폭이 동일해야 함.
⑥ else 다음엔 조건 안 적으며, 맨 마지막에 사용.
⑦ elif 대신 (else if / elseif)처럼 적으면 에러 남.
들여쓰기 (Indentation)
조건 충족 시 실행할 코드 부분은 반드시 들여쓰기 해야 함.
cf. PHP는 코드 실행 블럭을 중괄호인 {}로 감쌈.
a = 3
b = 4
if b > a:
print("b가 a보다 큼.") # 에러 유발.
elif문
이전 조건이 True 아닌 경우, 체크할 조건문 구절.
cf. PHP의 else if 문에 해당.
a = 3
b = 3
if b > a:
print("b가 a보다 큼.")
elif a == b:
print("a와 b는 동일.")
else문
이전 조건들이 모두 True 아닐 때 실행할 구문에 해당.
※ else 뒤엔 조건 안 적음.
1. if...elif...else 형태
(예제1)
a = 4
b = 3
if b > a:
print("b > a")
elif a == b:
print("a == b")
else:
print("b < a")
(예제2)
num = int(input("숫자 입력: "))
if num < 0 :
print(num)
print("음수")
elif num > 0 :
print("양수")
else :
print(0)
(예제3)
name = input("이름 입력: ")
if name == '신비' :
print("관리자")
elif name == '홈짱' :
print("관리자")
else :
print('회원')
2. if...else...형태
(예제1)
a = 4
b = 3
if b > a:
print("b > a")
else:
print("b는 a보다 안 큼.")
(예제2)
num = int(input('숫자 입력:'))
if num%2 == 0 :
print('{} : 짝수'.format(num))
else :
print('{} : 홈수'.format(num))
단축 if문
실행 구문이 1개면 if문과 같은 라인에 작성 가능.
단, 줄바꿈해서 쓸 땐 반드시 들여쓰기를 해야 함.
a = 4
b = 3
if a > b: print("a > b")
단축 if...else 문. (= 3항 연산자 = 조건적 표현식)
1.
(if 조건에서 실행할 구문 1개, else 조건에서 실행할 구문 1개) 시,
if 조건 라인에 모두 기재 가능.
주의: if 조건에서 실행할 구문을 먼저 쓰며 중간에 : (콜론) 없음.
a = 2
b = 3
print("A가 더 큼.") if a > b else print("A가 더 안 큼.")
PS. 이런 기법은 3항연산자 (= 삼항연산자= 조건적표현식)이라 함.
2.
같은 라인에 여러 else 구문 사용 가능.
주의: 중간의 elif에 해당하는 부분이 else ..if.. 처럼 나뉨에 주의.
(예) 3가지 조건 갖는 if...else 구문.
a = 3
b = 3
print("A>B") if a > b else print("A=B") if a == b else print("A<B")
PS. 가독성 위해서 여러 라인으로 표기 권장.
and 키워드
and 키워드는 논리연산자로서, 여러 조건을 모두 충족해야할 때 사용.
a = 3
b = 4
c = 5
if a < b and b < c:
print("모든 조건 충족.")
or 키워드
or 키워드는 논리연산자로서, 조건 중 어느 하나라도 충족하면 실행.
주의: 간단한 조건이 앞쪽에 배치될수록 속도 빠름.
a = 3
b = 4
c = 5
if a < b or b > c:
print("조건 중 최소 하나 충족.")
안긴 if문 (= 중첩 if문)
안긴 if문 정의 : if문 안에 다른 if문이 있는 경우를 말함.
(예제1)
x = 3
if x > 1:
print("x는 1보다 큼.")
if x > 2:
print("x는 2보다도 큼.")
else:
print("x는 2보단 안 큼.")
(예제2)
score = int(input('점수 입력:'))
if 0 <= score <= 100 :
if score >= 90 :
print ('A')
elif score >=80 :
print('B')
elif score >= 70 :
print('C')
elif score >= 60 :
print('D')
else :
print('F')
else:
print('0~100 사이 점수 입력:')
pass 구문
if문에서 조건 충족 시 실행할 구문 없는 경우에, pass 구문 추가.
주의: 만약, pass 구문이 없다면 에러 발생.
a = 3
b = 4
if b > a:
pass
PS. for문에서도 사용 가능.