if
특정한 조건을 확인할 때 사용
if expression:
codes to execute
expression
값이 '참'이면, codes to execute의 코드가 실행되며 '거짓'이면 실행되지 않음.
ref. expression
뒤에 :
가 꼭 들어가야 한다.
age = 27
if age == 27:
print(f"부럽네요..")
A == B
A와 B가 같다
A != B
A와 B가 다르다
A > B
A가 B보다 크다
A >= B
A가 B보다 크거나 같다
A < B
A가 B보다 작다
A <= B
A가 B보다 작거나 같다
A in B
B가 A를 가지고 있다
def check_age(name, age): # 파이썬에서 함수 정의시 def문 사용
if age < 21: # 조건문
result = "Go home, " + name + "!" # 변수 지정
return result # 결과값 출력
elif age >= 21:
result = "Nice to meet You, " + name + "!"
return result
elif
else if의 줄임말로 if 구문 보조
else
if구문의 condition이 False인 경우 default로 실행
if car == "현대":
print("현대는 국산차")
elif car == "기아": # car 변수값이 "기아"인 경우 elif 구문의 코드 실행
print("기아는 국산차")
else: # car 값이 현대, 기아가 아닌경우 모두 "외제차" 출력
print("외제차")
and
와 or
를 이용하는 방법
and
여러가지 조건이 모두 충족될 때만 if 구문 실행
or
여러 조건 중 하나만 True여도 if 구문 실행
and
와or
함께 사용하는 것도 가능
if 구문의 중첩
if 구문은 조건이 복잡할수록 가독성이 떨어질 수 있다.
if status == "학생" and year >= 3:
print("취업이 곧 다가온다!")
elif status == "학생" and year == 2:
print("그래도 아직 놀 시간이 있네..")
elif status == "학생" and year < 2:
print("한창 놀때지..")
else:
print("열심히 공부 해서 대학교 부터 가라!")
위의 예제에서 반복되고 있는 조건 status == 학생
을 줄이고 if 구문의 중첩을 통해 가독성을 높여보자!
if status == "학생":
if year >= 3:
print("취업이 곧 다가온다")
elif year == 2:
print("그래도 아직 놀 시간이 있네..")
elif year < 2:
print("한창 놀때지..")
else:
print("열심히 공부 해서 대학교 부터 가라!")
예제
ax = b 의 방정식을 해결하는 프로그램 구현하기. x 값은?
[조건]
- Input 으로 주어진 a 와 b 값으로 위의 방정식을 충족하는 단 하나의 정수가 존재한다면 해당 정수를 출력
- 만일 a 와 b 값으로 위의 방정식을 충족하는 정수가 없다면 "No Solution" 출력
- a 와 b 값으로 위의 방정식을 충족하는 정수가 많다면 "Many Solutions"을 출력
[조건문]
if a == 0:
if b == 0:
print("Many Solutions")
elif b % a == 0:
if a != 0:
x = b/a
print(x)
else:
print("No solution")
처음에 if a == 0 and b == 0:
조건을 if b % a == 0 and a != 0:
다음으로 넣고 a에 0을 넣었더니 오류가 났다. 컴퓨터는 순차적으로 계산을 하기 때문에 첫번째 조건문인 b % a == 0
을 먼저 계산해서 결과가 무한이 나온 것이다. 따라서 결과에 영향을 미치는 순서를 고려하여 코딩해야하는 것의 중요성을 알게 되었다.