코드클럽코리아 파이썬 레슨 제12차시 조영환교수 알고리듬 강의
Lesson_12 조건문 [학습목표] 조건문을 사용하여 결정구조 문제를 해결할 수 있다.
1. 조건문의 이해 조건문은 조건부 실행(conditional execution)을 제어한다. 즉, 조건에 따라 실행할 문장을 결정한다. 조건문을 'if 문'으로 부르기도 한다. (1) 조건문 형식
(2) 조건문의 사용 예
(3) 특별한 조건문
(4) 조건문의 예
2. 윤년, 평년 판단 <v:f eqn="if lineDrawn pixelLineWidth 0"> <v:f eqn="sum @0 1 0"> <v:f eqn="sum 0 0 @1"> <v:f eqn="prod @2 1 2"> <v:f eqn="prod @3 21600 pixelWidth"> <v:f eqn="prod @3 21600 pixelHeight"> <v:f eqn="sum @0 0 1"> <v:f eqn="prod @6 1 2"> <v:f eqn="prod @7 21600 pixelWidth"> <v:f eqn="sum @8 21600 0"> <v:f eqn="prod @7 21600 pixelHeight"> <v:f eqn="sum @10 21600 0"> </v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f> <o:lock aspectratio="t" v:ext="edit"> </o:lock><w:wrap type="square"></w:wrap> 지구가 태양의 둘레를 한 바퀴 도는 데는 365일 5시간 48분 46초가 걸린다. 1년을 365일로 하면 4년 후에는 약 1일 정도 차이가 난다. 그래서 4년마다 1년을 366일로 한다. 그런데 366일로 하면 지구가 원래의 위치보다 조금 더 지나게 된다. 그래서 100년에 한 번씩 366일로 하지 않고 365일로 한다. 이렇게 하여도 차이가 있어 400년에 한 번씩은 366일로 하여야 한다. 지금의 달력은 이러하다. 이것을 그레고리력(Gregorian calendar)이라고 한다.
<v:f eqn="if lineDrawn pixelLineWidth 0"> <v:f eqn="sum @0 1 0"> <v:f eqn="sum 0 0 @1"> <v:f eqn="prod @2 1 2"> <v:f eqn="prod @3 21600 pixelWidth"> <v:f eqn="prod @3 21600 pixelHeight"> <v:f eqn="sum @0 0 1"> <v:f eqn="prod @6 1 2"> <v:f eqn="prod @7 21600 pixelWidth"> <v:f eqn="sum @8 21600 0"> <v:f eqn="prod @7 21600 pixelHeight"> <v:f eqn="sum @10 21600 0"> </v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f> <o:lock aspectratio="t" v:ext="edit"> </o:lock><w:wrap type="square"></w:wrap> 그레고리력의 윤년, 평년 판단 방법을 정리하면 다음 그림과 같다.
평년(common year)은 1년이 365일이고(2월이 28일), 윤년(leap year)은 1년이 366일이다(2월이 29일).
어떤 연도가 윤년인지 평년인지 판단하여 보자.
* 위의 4가지 방법을 모두 이해하고 스스로 작성할 수 있으면 ‘if문’ 통과이다.
<v:f eqn="if lineDrawn pixelLineWidth 0"> <v:f eqn="sum @0 1 0"> <v:f eqn="sum 0 0 @1"> <v:f eqn="prod @2 1 2"> <v:f eqn="prod @3 21600 pixelWidth"> <v:f eqn="prod @3 21600 pixelHeight"> <v:f eqn="sum @0 0 1"> <v:f eqn="prod @6 1 2"> <v:f eqn="prod @7 21600 pixelWidth"> <v:f eqn="sum @8 21600 0"> <v:f eqn="prod @7 21600 pixelHeight"> <v:f eqn="sum @10 21600 0"> </v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f> <o:lock aspectratio="t" v:ext="edit"> </o:lock><w:wrap type="topAndBottom"></w:wrap> 3. 세계 부자 순위 살림이 넉넉하고 재산이 많은 사람을 부자(富者, the rich)라고 한다. 대부분의 사람들은 부자가 되고 싶어 한다. 그렇다면 수입이 얼마가 되면 부자일까? 세계에서 1% 안에 드는 부자가 되려면 일 년에 5000만 원 정도(47500달러)를 벌면 된다고 한다. 3000만원을 벌면 10%, 1억을 벌면 0.59%에 해당된다. 이러한 내용은 global rich list(세계 부자 순위)라는 사이트에 있다. <v:f eqn="if lineDrawn pixelLineWidth 0"> <v:f eqn="sum @0 1 0"> <v:f eqn="sum 0 0 @1"> <v:f eqn="prod @2 1 2"> <v:f eqn="prod @3 21600 pixelWidth"> <v:f eqn="prod @3 21600 pixelHeight"> <v:f eqn="sum @0 0 1"> <v:f eqn="prod @6 1 2"> <v:f eqn="prod @7 21600 pixelWidth"> <v:f eqn="sum @8 21600 0"> <v:f eqn="prod @7 21600 pixelHeight"> <v:f eqn="sum @10 21600 0"> </v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f> <o:lock aspectratio="t" v:ext="edit"> </o:lock><w:wrap type="topAndBottom"></w:wrap>
연간 개인 소득을 입력 받아서 세계인구비율에 따른 소속 집단을 찾아보자.
입력 연간 개인 소득이 입력된다. 단위는 달러($)이며 정수이다.
출력 소속 집단을 출력한다. 소속 집단은 위의 표와 같이 하위 5개, 상위 3개 집단 그리고 소속이 없는 중간 집단이 있다. 중간 집단은 ‘the middle'이며, 400달러 이하는 ‘Bottom 10'이고, 47500달러 이상은 ’Top 1'이다. percent는 출력하지 않는다.
입력의 예 100000
출력의 예 Top 1
4. 스스로 확인하기 삼각형의 판별 <v:f eqn="if lineDrawn pixelLineWidth 0"> <v:f eqn="sum @0 1 0"> <v:f eqn="sum 0 0 @1"> <v:f eqn="prod @2 1 2"> <v:f eqn="prod @3 21600 pixelWidth"> <v:f eqn="prod @3 21600 pixelHeight"> <v:f eqn="sum @0 0 1"> <v:f eqn="prod @6 1 2"> <v:f eqn="prod @7 21600 pixelWidth"> <v:f eqn="sum @8 21600 0"> <v:f eqn="prod @7 21600 pixelHeight"> <v:f eqn="sum @10 21600 0"> </v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f> <o:lock aspectratio="t" v:ext="edit"> </o:lock><w:wrap type="square"></w:wrap> 삼각형이란 '한 평면상에 있고, 일직선상에 없는 3개의 점을 2개씩 쌍으로 하여 선분으로 연결했을 때 만들어 지는 도형‘을 일컫는 말이다. 이러한 삼각형에는 3개의 변과 3개의 내각이 있게 되는데 이것을 삼각형의 6요소라고 하며, 이것에 의하여 모양과 크기가 결정된다. 삼각형은 가장 기본적인 평면도형이므로 평면기하학의 거의 모든 성질을 해명할 때 삼각형의 성질을 사용하게 된다. 문제 삼각형의 주요한 성질은 ‘2변의 길이의 합이 다른 한 변의 길이 보다 크다.’는 것이다. 이 성질을 만족하지 못하면 삼각형이 아니다. 삼각형인 경우, 변의 길이에 따른 삼각형의 종류는 다음과 같다. 정삼각형(regular triangle) : 3변의 길이가 같은 삼각형 이등변삼각형(isosceles triangle): 2변의 길이가 같은 삼각형 부등변삼각형(scalene triangle) : 3변의 길이가 서로 다른 삼각형 3변의 길이를 입력받아 삼각형의 종류를 판별하자.
입력 3변의 길이가 같은 줄에 입력된다. 공백(space)으로 구분되어 있으며 실수이다.
출력 삼각형이 아니면 no, 정삼각형이면 regular, 이등변삼각형은 isosceles, 부등변삼각형이면 scalene를 출력한다.
입력의 예 3.0 4.0 5.0
출력의 예 regular
출처>코드클럽코리아 www.codeclub.kr ? |
출처: 코드클럽코리아 www.codeclub.kr 원문보기 글쓴이: 코드클럽코리아