UNIT 14.else를 사용하여 두 방향으로 분기
14-1) else 사용
- else는 if 조건문 뒤에 있으며 단독으로 사용할 수 없습니다.
if와 마찬가지로 : 를 붙이고 다음 줄에 실행할 코드가 있습니다.
if 조건식 :
코드1
else 조건식 :
코드2
- else는 if의 조건식이 충족되지 않을 때 코드를 실행합니다.
즉, 조건식이 true이면 if 코드가 실행되고 false이면 else 코드가 실행됩니다. - 변수에 값 할당을 if, else로 생략
변수 = 값 if 조건문 else 값
ex)
x = 5
y = x if x == 10 else 0
y
0
14-2) else와 들여쓰기
- else는 if와 들여쓰기 규칙이 동일합니다.
- 들여쓰기 깊이를 if에 맞게 만들어야 합니다.
14-3) if 조건문의 동작방법 배우기
- if 조건문에 숫자 지정
숫자는 정수, 실수에 관계없이 0이면 거짓, 0이 아닌 숫자는 참
- if 조건문에 문자열 지정
문자열은 내용이있을 때 true, 빈 문자열은 false라고 판단합니다.
- 빈 문자열, 0, None을 not으로 반전하면 True로 인식됩니다.
14-4) 여러 조건식 지정
- 만약, 어느 쪽이 만족했을 때에 진을 출력하고 싶은 경우는 ‘or’ 논리 연산자를 사용해 주세요
- 일반적으로 여러 조건을 결정할 때 if를 계속 나열하고 중첩 된 if 조건문으로 작성하는 경우가 많습니다.
-> 이 중첩된 if 조건문은 and 논리 연산자를 사용하여 if를 하나로 줄일 수 있습니다.
14-5) 퀴즈
1. 다음 중 if 조건문에 대한 설명으로 올바른 것을 고르세요.
답 : d(else에서 실행되는 코드는 다음 줄에서 들여쓰기를 하지 않아야 한다.
)
2. 다음 if,else 조건문에서 잘못된 부분을 모두 고르세요.
답 : b(들여쓰기 잘못), d(:미작성)
3. 다음 코드의 출력 결과를 입력하세요.
답 : 빈 문자열은 False인데, 조건식 앞에 not이 붙었으니 뒤집어서 True 출력
4. 다음 중 if에서 조건식을 여러 개 지정하는 방법으로 올바른 것을 모두 고르세요(x와 y는 변수)
답 : b(if x == 10 or y == 20:), e(if x and y:)
5. 다음 소스 코드를 실행했을 때 출력 결과로 올바른 것을 고르세요.
답 : a(홀수)
14-6) 연습 문제: 합격 여부를 판단
a기업의 입사 시험은 필기시험 점수가 80점 이상이면서 코딩 시험을 통과해야 합격이라고 정했습니다.
다음 소스 코드를 완성하여 '합격', '불합격'이 출력되도록 만드세요.
written_test = 75
coding_test = True
if written_test>=80 and coding_test == True:
print('합격')
else:
print('불합격')
14-7) 심사문제 : 합격 여부를 판단
표준 입력으로 국어, 영어, 수학, 과학 점수가 입력됩니다.
여기서 네 과목의 평균 점수가 80점 이상일때
합격이라고 정했습니다.
평균 점수에 따라 '합격', '불합격'을 출력하는 프로그램을 만드세요.
x = int(input())
y = int(input())
z = int(input())
t = int(input())
if x > 100 or y > 100 or z > 100 or t >100 or x < 0 or y < 0 or z < 0 or t<0:
print('잘못된 점수')
else:
if x+y+z+t/4 >=80:
print('합격')
else:
print('불합격')
UNIT 15. elif를 사용하여 여러 방향으로 분기
15-1) elif 사용
- elif는 else 상태에서 조건식을 지정할 때 사용되며 else if
- if, else와 마찬가지로 조건식의 끝에 : (콜론)을 붙여야하며 elif만으로는 사용할 수 없습니다.
if 조건식:
코드1
elif 조건식:
코드2
- if, elif, else을 모두 사용할 때
- elif 전에 else가 오면 문법 오류!
if 조건식:
코드1
elif 조건식:
코드2
else:
코드3
15-2) 퀴즈
1. 다음 중 if 조건문에 대한 설명으로 잘못된 것을 모두 고르세요
답 : d(elif는 단독으로 사용할 수 있다.
), e(elif는 항상 else가 있어야한다.
)
2. 다음 if 조건문을 실행했을 때 출력되는 결과를 고르세요.
답 : e
15-3) 연습 문제: if, elif, else 모두 사용
변수 x가 11과 20 사이면 11~20, 21과 30 사이면 21~30, 아무것도 해당되지 않으면 아무것도 해당되지 않음이 출력되게 하세요.
x = int(input())
if 11<= x <=20:
print('11~20')
elif 21 <= x <= 30:
print('21~30')
else:
print('아무것도 해당하지 않음')
15-4) 심사문제: 교통카드 시스템 작성
age = int(input())
balance = 9000
if 7 <= age <= 12:
balance = balance - 650
elif 13 <= age <= 18:
balance = balance - 1050
elif 19<=sge:
balance = balance - 1250
print(balance)