JSITCLUB
파이썬 독학#14 - 맞나? 틀리나? - 조건문 본문
조건문은 컴퓨터에게 판단을 할 수 있도록 하는 명령입니다. (지금까지는 코드를 위에서 아래로 순서대로 "무조건" 실행했지만 조건문은 실행문에 조건을 두어 조건이 맞는지 틀린지에 따라 실행을 할지 건너뛸지를 판단하게 되는 것입니다.)
1. 기본형태
if 조건 : 실행문 1 실행문 2 실행문 3 |
- 조건 : 주로 비교연산자를 사용합니다. (결과가 True일때 실행문이 실행됩니다.)
- 조건 뒤에 콜론(:)을 반드시 붙여줍니다.
- 조건에 따라 실행 할 부분은 반드시 들여쓰기를 해줍니다. 들여쓰기 한 부분만 조건에 영향을 받습니다.(실행문1,실행문2)
- 조건문이 끝나면 들여쓰기를 하지 않고 다시 if 와 줄을 맞춰줍니다. (실행문3)
위의 예제에서 먼저 변수 a와 변수 b에 각각 값을 넣고 변수a를 출력 했습니다. (결과 : 10)
#1
- 첫번째 조건문에서는 변수 a와 10이 같은지를 확인 후 같으면 'jsitclub-1'을 출력하도록 코드를 작성했습니다. 결과는 조건에 맞으므로 다시말해 조건의 결과가 참(True)이므로 출력을 했습니다.
- 두번째 조건문의 조건은 b가 20보다 큰지 여부 입니다. b는 20이므로 b가 20보다 크다라는 조건은 거짓이 됩니다. 그러므로 실행문은 실행되지 않고 건너뛰게 됩니다.
- 세번째 조건문은 2개의 조건을 and(그리고)로 묶어 동시에 만족하면 참이 됩니다. 해석 하면 "a가 10이고 b는 30 인가?" 로 a는 10이지만 b가 20 이므로 결과는 거짓
- 네번째 조건문은 2개의 조건을 or(또는)으로 묶어 둘중 하나만 만족해도 참이 됩니다(둘다 만족해도 참). 해석하면 "a가 40 이거나 b가 20 인가?" a는 40이 아니지만 b가 20이므로 결과는 참. 그래서 'jsitclub-4'는 출력되었습니다.
and(논리곱) / or(논리합) 는 처음에는 무척 혼동될 수 있으니 정확히 정리해두세요. 그리고 코딩에서는 무척 중요 하므로 반드시 숙지해야 합니다. 아래 bool 강좌를 참고 하세요.
2. 다중 선택
if~else문
if 조건 : 실행문1 else: 실행문2 |
- 둘중 한가지를 선택 할때 사용
- 만약 ~라면 ... 아니면 ...
if~elif문
if 조건1 : 실행문1 elif 조건2: 실행문2 elif 조건3: 실행문3 |
- 여러조건 중 한가지를 선택 할때 사용
- 만약 ~ 라면 ... 아니고 ~라면 ... 아니고~ 라면 ...
3. 여러가지 다중 선택 표현
if 조건 1: 실행문1 if 조건 2: 실행문2 |
만약 조건1이 참이라면 실행문1 실행 만약 조건2이 참이라면 실행문2 실행 서로 상관이 없습니다.(둘다 실행이 안되거나, 둘중 하나만 실행되거나, 둘다 실행되거나 모두 가능) |
if 조건 : 실행문1 else: 실행문2 |
만약 조건이 참이라면 실행문1 실행 아니면 실행문2 실행 (둘중 하나는 반드시 실행 됩니다.) |
if 조건1 : 실행문1 elif 조건2: 실행문2 |
만약 조건1이 참이라면 실행문1 실행 아니고(조건1이 거짓이고) 조건2가 참이라면 실행문2 실행 - 둘중 하나가 실행 되거나 두조건 모두 만족하지 않는다면 둘다 실행되지 않을 수도 있습니다. - 둘다 실행되는 경우는 없습니다. |
if 조건1 : 실행문1 elif 조건2: 실행문2 elif 조건3: 실행문3 ... else: 실행문 |
만약 조건1이 참이라면 실행문1 실행 아니고(조건1이 거짓이고) 조건2가 참이라면 실행문2 실행 아니고(조건1과 조건2 가 모두 거짓이고) 조건3가 참이라면 실행문3 실행 ... 위의 조건이 모두 아니라면 실행문 실행 - 세가지 중 하나는 반드시 실행 됩니다. |
Tip!
코드도 의역이 필요합니다. 위의 예제에서 a==10 을 해석할때 "변수 a 와 10이 같다면"보다는 "a값이 10이라면" 으로 생각하시는 습관을 들이면 문제를 해석하거나 기억할때 이야기형태로 이해하고 기억할 수 있어 도움이 됩니다.
같은 맥락으로 코드를 작성할 때 조건을 적을때 변수를 앞에 값을 뒤에 적어주세요.
if 점수 <= 80: 실행문 |
점수가 80이하라면 |
if 80 >= 점수: 실행문 |
80이 점수 이상이라면 |
위와 같이 두가지 조건 이 있을때 두가지모두 실행은 되지만 해석도 어색해지고, 코드 작성할때 일관성이 없어져 결과를 혼동할수 있습니다.
a=10
b=20
print(a)
#1
if a==10:
print("jsitclub-1")
if b>20:
print("jsitclub-2")
if a==10 and b==30:
print("jsitclub-3")
if a==40 and b==20:
print("jsitclub-4")
#2
check=True
if check=True:
print("확인했습니다.")
else:
print("확인 못 했습니다.")
#3
age=35
if age>=10 and age<20:
print("10대")
elif age>=20 and age<30:
print("20대")
elif age>=30 and age<40:
print("30대")
elif age>=40 and age<50:
print("40대")
'파이썬 > 입문' 카테고리의 다른 글
파이썬 독학#16 - 범위를 정해줘 - range() 함수 (0) | 2020.05.18 |
---|---|
파이썬 독학#15 - 같은 작업은 나에게 - 반복문 (0) | 2020.05.18 |
파이썬 독학#13 - 특별하게 담는법 - 사전(dict) ,집합(set) (0) | 2020.01.13 |
파이썬 독학#12 - 여러값을 담는법 - 리스트(list) ,튜플(tuple) (0) | 2020.01.03 |
파이썬 독학#11 - 문자를 다루는법 - 문자열(str) 2 (0) | 2020.01.02 |