Python
Python 문법 기초 9 - if 문
코딩탕탕
2022. 10. 22. 15:20
# 조건 판단문 if
# if 조건 : 실행문 elif() 조건 ~ else : ~
var = 10
if var >= 3: # java : {}, py : 들여 쓰기
# print('크구나')
# print('참일 때')
pass
else:
print('거짓일 때')
print('end1')
<console>
end1
자바에서는 if(var ≥ 3){} 로 시작하지만 파이썬에서는 위와 같다.
if문은 따로 실행을 하지 않아도 알아서 실행이 된다.
if 문 안에서는 무조건 들여쓰기를 사용해야 된다. 사용하지 않으면 에러 발생
조건이 거짓일때는 수행하지 않는다.
else 문으로 조건이 거짓일때도 수행 가능하다.
pass 를 부여하는 것으로 참일때는 아무것도 실행하지 않고 넘긴다는 의미이다.
money = 1000
age = 23
if money >= 500:
item = '사과'
if age <= 30:
msg = '청춘이다'
else:
msg = '올드하다.'
else:
item = '포도'
if age >= 30:
msg = '성인이다'
else:
msg = '애다.'
print(item, msg)
<console>
사과 청춘이다
if else 문으로 이렇게 표현 가능하다.
jumsu = 85
if jumsu >= 90:
print('우수')
else:
if jumsu >= 70:
print('보통')
else:
print('저조')
if jumsu >= 90:
print('우수')
elif jumsu >= 70:
print('보통')
else:
print('저조')
<console>
보통
보통
elif(조건)를 사용하지 않은 코드와 사용한 코드이다.
# jum = int(input('점수 입력:'))
jum = 80
print(jum, type(jum)) # 외부에서 값을 받을 때는 무조건 str 타입이다.
# if jum >= 90 and jum <= 100:
if 90 <= jum <= 100: # 파이썬에서는 이렇게 사용 가능
grade = '우수함'
elif 70 <= jum < 90:
grade = '보통임'
else:
grade = '저조함'
print(grade)
names = ['홍길동', '신기해', '이기자']
# if '홍길동' not in names:
if '홍길동' in names:
print('친구 이름')
else:
print('누구니?')
<console>
10
55
80 <class 'int'>
보통임
친구 이름
jum = int(input('점수 입력:')) 이렇게 입력하면 따로 실행시키지 않아도 바로 console 창에서 입력 가능하다. 콘솔창에 점수를 입력하면 위의 if 문으로 등급을 나눌 수 있다.
in names를 사용하여 ‘홍길동’이라는 문자열이 들어있으면 친구 이름을, 없으면 누구니? 를 호출할 수 있다. not in names 를 사용할 수도 있다.
a = 'kbs'
b = 9 if a == 'kbs' else 11
print(b)
a = 11
b = 'mbc' if a == 9 else 'kbs'
print(b)
<console>
9
kbs
람다 함수를 사용하여 간단하게 사용 가능하다. 참이면 왼쪽의 값을, 불이면 오른쪽의 값을 가져온다.
a = 3
if a < 5:
print(0)
elif a < 10:
print(1)
else:
print(2)
print(0 if a < 5 else 1 if a < 10 else 2)
print(a * 2 if a > 5 else a + 2)
print((a + 2, a * 2)[a > 5])
<console>
0
0
5
5
위의 if 문도 밑에처럼 한줄로 작성 가능하다. 그러나 위의 다중 if 문은 한줄 요약은 잘 안 한다.
조건이 참일때는 왼쪽의 코드를 실행하고 거짓일 때는 오른쪽을 실행한다.
13번째 줄은 tuple 방식으로 조건이 대관호 안에 들어있고 참이면 오른쪽, 거짓이면 왼쪽이다.