6장. 여러 조건 다루기 - 심화 조건문
6.1. 중첩 조건문
중첩 조건문
6.1. 중첩 조건문
▪ 수학점수가 90점 이상, 영어점수가 80점 이상이어야 합격일 때 조건문 이용
•논리 연산자(X and Y) 사용
•if else 조건문 으로 표현
if (수학점수가 90점 초과) and (영어점수가 80점 초과) ! 합격 else ! 불합격
합격이면 상관없지만 불합격일 경우 어떤 과목에 의해서 불합격 되었는지는 알 수 없음
3
▪ 중첩 조건문을 이용하여 앞의 알고리즘의 단점을 보완
수학>=90
False
True
합격 영어>=80
True
불합격
결과 통보
False
중첩 조건문
6.1. 중첩 조건문
중첩된 조건(Nested Conditionals) (1/2)
6.1. 중첩 조건문
5
중첩된 조건(Nested Conditionals) (2/2)
6.1. 중첩 조건문
[예제 6-1] 중첩 조건문의 활용 (1/2)
6.1. 중첩 조건문
id 길이 < 10
False
True
password 길이 < 10
회원가입 실패 : id 길이가 10을 초과
False True
id 입력 password 입력
7
[예제 6-1] 중첩 조건문의 활용 (2/2)
6.1. 중첩 조건문
[예제 6-2] 중첩 조건문의 활용 (1/2)
6.1. 중첩 조건문
9
[예제 6-2] 중첩 조건문의 활용 (2/2)
6.1. 중첩 조건문
[예제 6-2] 중첩 조건문의 활용 (2/2)
6.1. 중첩 조건문
11
[실습 6-1] 양수 음수 판별하기
6.1. 중첩 조건문
[실습 6-1] 양수 음수 판별하기
6.1. 중첩 조건문
13
[실습 6-1] 양수 음수 판별하기
6.1. 중첩 조건문
[요구사항]
‘조건1이 False이면 False_statements를 실행시킨 후 if문을 종료하고 Next_statements로 이동하지만, 조건1이
True인 경우에는 새로운 if문의 조건2를 평가하게 된다. 조건2도 True이면 Statement1을 실행시킨다.
만약 조건2가 False이면 Statement2를 실행한 후, Next_statements를 실행하 게 된다.’
if 조건1:
(
) else:
False_statements Next_statements
[퀴즈 6-1]
6.1. 중첩 조건문
▪ 아래의 요구사항에 맞도록 if문 안의 빈칸에 알맞은 프로그램을 작성하여 보자.
▪ 다음의 주어진 요구사항에 따라 작성한 프로그램이 있다.
다음 프로그램의 잘못된 부분을 골라 고쳐보자.
[요구사항] 나이를 입력 받아, 다음의 분류에 따라 출력 내용을 다르게 한다.
⦊ 나이 10살 미만인 경우 : kid
⦊ 나이 10살 이상 20살 미만인 경우 : student
⦊ 나이 20이상인 경우 : adult [프로그램]
age = int(input('당신의 나이를 입력하세요. ')) if age >= 10:
if age > 20:
print('student') else:
print('adult') else:
print('kid')
15
[퀴즈 6-2]
6.1. 중첩 조건문
6장. 여러 조건 다루기 - 심화 조건문
6.2. if-elif-else 조건문
17
If-elif-else 조건문 (1/3)
6.2. if-elif-else 조건문
If-elif-else 조건문 (2/3)
6.2. if-elif-else 조건문
▪ If-else문의 header 구성
19
If-elif-else 조건문 (3/3)
6.2. if-elif-else 조건문
▪ 1~8까지 입력 받은 숫자를 판별하는 프로그램을 작성해보자 (비교)
If-elif-else 조건문 (3/3)
6.2. if-elif-else 조건문
▪ 1~8까지 입력 받은 숫자를 판별하는 프로그램을 작성해보자 (비교)
21
[실습 6-2] if-elif-else문의 활용1
6.2. if-elif-else 조건문
[실습 6-2] if-elif-else문의 활용1
6.2. if-elif-else 조건문
23
[예제 6-3] if-elif-else문의 활용2 (1/2)
6.2. if-elif-else 조건문
[예제 6-3] if-elif-else문의 활용2 (2/2)
6.2. if-elif-else 조건문
25
[예제 6-3] if-elif-else문의 활용2 (2/2)
6.2. if-elif-else 조건문
[예제 6-4] if-elif-else문의 활용3 (1/3)
6.2. if-elif-else 조건문
27
[예제 6-4] if-elif-else문의 활용3 (2/3)
6.2. if-elif-else 조건문
[예제 6-4] if-elif-else문의 활용3 (3/3)
6.2. if-elif-else 조건문
29
[예제 6-4] if-elif-else문의 활용3 (3/3)
6.2. if-elif-else 조건문
[실습 6-3] 학생수준평가 합격여부 출력 프로그램
6.2. if-elif-else 조건문
31
[실습 6-3] 학생수준평가 합격여부 출력 프로그램
6.2. if-elif-else 조건문
▪ 위의 퀴즈와 동일한 요구사항에 대해 if-elif-else문으로 프로그램을 작성하였다. 빈 칸 에 알맞은 값을 채워 보자.
[퀴즈 6-3]
6.2. if-elif-else 조건문
33
요약
6.2. if-elif-else 조건문▪ 여러 개의 조건문을 이용한 중첩 조건문을 사용하여 더 복잡한 상황에 맞게 사용할 수 있다.
▪ 중첩 조건문은 크게 두 가지로 나눌 수 있는데, if문의 조건식이 True일 때 또 다른 if문이 들어가는 경우와 if문의 조건식이 False일 때 else 뒤에 또 다른 if문이 들어가는 경우이다.
▪ If-elif-else문은 실행 시간이 짧아진다는 장점이 있지만, 가독성이 낮아지는 단점이 있다.
[연습문제]
6.2. if-elif-else 조건문
1. 다음 실행문의 결과를 예상하시오.
2. 조건이 많아지는 경우 ( )은 프로그램의 실행 시간이 짧아진다는 장점이 있는 반면 프로그램을 코딩한 사람 외에는 해당 프로그램을 해석하기 어렵다는 단점이 있다.
그러한 프로그램을 ( )으로 프로그래밍하게 되면 프로그램의 실행 시간은 길어지는 단점이 있으나 다른 누군가가 그 프로그램을 해석하기 쉬워지는 장점이 있다.
number = 18 if number < 10:
if number > 5:
print('A') else:
print('B') else:
print('C')
3. 다음 실행문의 잘못된 부분을 찾으시오.
score = int(input(‘점수 입력 : '))
if score > 80 : print('Great')
elif 50 < score <= 80 : print('Good job') elif 30 < score <= 70:
print('Not bad') else:
print('Try again')
35
[연습문제]
6.2. if-elif-else 조건문
3. 다음 실행문이 잘못된 이유를 적으시오.
point = int(input(‘점수 입력 : ')) if 90 <= point :
print('A')
elif 80 <= point : print('B')
elif 70 <= point : print('C')
else :
print('D')
[연습문제]
6.2. if-elif-else 조건문