if 조건문으로 특정 조건일 때 코드 실행하기
- 사용법은 다른 언어와 같다
- if문의 구조
if 조건식: 코드
- 주의할 점
- 조건식에서 값을 비교할 때 =이 아닌 ==으로 사용한다.
- 조건식 끝에 :을 꼭 작성한다.
- if문 다음 줄에 들여쓰기를 하지 않으면 에러가 난다.
- 코드를 생략하기
if 다음 줄에 pass를 넣어 아무일 앖이 넘어가게 한다.
쓰는 이유 - if문 다음에 아무 코드없이는 작동하지 않아 pass를 넣어 작동시키게 하고 나중에 작성할 코드를 남겨놓는 것이다.if a == 1: pass # TODO: a가 1일 때 처리가 필요함
- TODO
주석에 TODO를 넣으면 검색으로 쉽게 찾을 수 있어서 자주 사용한다.
if a >= 5:
print('5보다 크다')
if a >= 10:
print('10보다 크다')
사용자가 입력한 값에 if조건문 사용하기
- input()을 사용해서 사용자가 입력한 값을 변수에 저장하고, if 조건문으로 값을 비교한다.
a = int(input()) if a == 10: print('10이다') if a == 20: print('20이다')
입력) 10
10이다
13.5 퀴즈
- 다음 중 if 조건문의 사용 방법으로 올바른 것을 고르세요
1. if (x == 10) print('10입니다.') 2. if x == 10 print('10입니다.') 3. if x == 10: print('10입니다.') 4. if x == 10: print('10입니다') 5. if x = 10: print('10입니다')
정답) 3 풀이) 비교연산자 ==과 들여쓰기와 :가 생략이 안된 건 3번 밖에 없다.
- 다음은 코드에서 잘못된 부분을 모두 고르세요.
a. x = -20 b. c. if x < 0 d. print('0미만입니다.') e. f. if x == -10: g. print('-10입니다.') h. i. if x == -20: j. print('-20입니다.')
정답) c, j 풀이) c - 조건식 뒤에 :가 생략되었음 j - 들여쓰기를 하지 않았음
- 다음 중 잘못된 if 조건문을 고르세요(a와 b는 변수).
1. if a = b: 2. if a > b: 3. if a is b: 4. if not a: 5. if a != 10:
정답) 1 풀이) if문에서는 =을 사용 할 수 없고 ==을 사용해야 한다.
13.6연습문제: if조건문 사용하기
- 다음 소스 코드를 완성하여 x의 값이 10이 아닐 때 'ok'가 출력되게 만드세요.
x = 5 if _______________________: print('ok')
실행결과) ok
정답) x != 10 풀이) 문제에 나왔듯이 10이 아닐 때라는 조건을 만들어주면 된다.
13.7심사문제: 온라인 할인 쿠폰 시스템 만들기
- 표준 입력으로 가격(정수)과 쿠폰 이름이 각 줄에 입력됩니다. Cash3000 쿠폰은 3,000원, Cash5000 쿠폰은 5,000원을 할인합니다. 쿠폰에 따라 할인된 가격을 출력하는 프로그램을 만드세요(input에서 안내 문자열은 출력하지 않아야 합니다).
- 7줄 작성
입력) 27000 입력) Cash3000 결과) 24000 --------------------- 입력) 72000 입력) Cash5000 결과) 67000
정답) a = int(input()) b = input() if b == 'Cash3000': a -= 3000 if b == 'Cash5000': a -= 5000 print(a)
풀이) 처음 입력하는 변수를 선언해주고 입력 값이 정수형으로 저장되게 설정 두 번째 입력변수는 문자열임으로 그대로 저장 if문을 두개 만들어서 하나는 두 번째 입력한 변수이름과 Cash3000이 같을 때 하나는 두번째 입력한 변수 이름이 Cash5000일 때로 나누어서 a값에 할인 값을 적용시켜서 출력하게 만들면 답이다.