728x90
반응형
파이썬 실습창을 열 수 있습니다.실습창 열기
알에서 깨어나기가 가장 어렵습니다.
드디어 태어 났습니다.
이제 쑥쑥 자랄것입니다.
1. 조건문 형식
조건문은 조건부 실행(conditional execution)을 제어합니다.
즉, 조건에 따라 실행할 문장을 결정합니다.
조건문을 'if 문'으로 부르기도 합니다.
철저하게 분석하십시오.
조건문 형식 | |
if_stmt ::= "if" expression ":" suite ("elif" expression ":" (suite))* ["else" ":" suite] ∙“” 속의 내용은 생략할 수 없다. ∙ ()은 묶음 , *는 반복 가능, []는 선택 가능을 의미한다. ∙expression은 조건 식, suite(스위트)는 실행할 문장이다. ∙실행할 문장이 없는 경우에는 pass문을 사용할 수 있다. ∙문장의 실행은 expression을 순서대로 조사하여 최초로 참이 되는 곳의 suite를 실행하고 if 구문을 벗어난다. 모두 거짓이면 else 다음의 suite를 실행하고, else가 없으면 아무것도 실행하지 않고 if 구문을 벗어난다. |
2. 조건문의 사용 예
no | statement | example | description |
1 | "if" expression ":" suite | a=100 if a>90: print('A') |
∙a가 90보다 크면 ‘A'를 출력하고, 아니면 출력하지 않는다. 지금은 A가 출력된다. ∙if 와 :을 생략할 수 없다. ∙print('A')는 줄을 바꾸어 쓸 수 있다. |
2 | "if" expression ":" suite “else" ":" suite |
a=89 if a>90: print('A') else: print('not good') |
∙'a>90'가 참이 아니므로 no pass가 출력된다. ∙else와 :을 생략할 수 없다. ∙print('no good')은 줄을 바꾸어 쓸 수 있다. |
3 | "if" expression ":" suite "elif" expression ":" suite |
a=89 if a>90: print('A') elif a>80: print('B') |
∙a>90이 거짓이므로 다음 조건인 a>80를 조사한다. a>80은 참이므로 B를 출력한다. ∙elif와 :을 생략할 수 없다. elif는 ‘else if’를 줄인 말이다. |
4 | "if" expression ":" suite "elif" expression ":" suite "else" ":" suite |
a=79 if a>90: print('A') elif a>80: print('B') else: print('not good') |
∙a>90이 거짓, a>80도 거짓. 모두 거짓이므로 not good을 출력한다. ∙print('A'), print('B')는 실행할 문장이 한 개이므로 :과 같은 줄에 쓸 수 있다. |
5 | "if" expression ":" suite "elif" expression ":" suite "elif" expression ":" suite "else" ":" suite |
a=79 if a>90: print('A') elif a>80: print('B') elif a>70: print('C') else: print('not good') |
∙elif를 반복 사용한 예이다. C가 출력된다. ∙다음과 같이 줄여 쓸 수 있다. if a>90: print('A') elif a>80: print('B') elif a>70: print('C') else: print('not good') |
6 | pass | a=100 if a>90: pass elif a>80: print('B') |
∙pass는 실행할 구문이 없는 경우에 사용한다. a>90은 참이지만 아무런 일도 하지 않고 if문을 벗어난다. |
3. 특별한 조건문
no | 구분 | example | description |
1 | 중첩 조건문 (nested if statement) |
kor=100 sci=100 if kor>=90: if sci>=90: print('good') else: print('more') |
∙if, elif, else 등의 블록 속에 if문을 사용할 수 있다. ∙들여쓰기(indentation)를 주의하여야 한다. |
2 |
논리연산 | kor=100 sci=100 if kor>=90 and sci>=90: print('good') else: print('more') |
∙조건식에는 비교연산과 조건 연산을 사용한다. 관계연산: >, >=, <, <=, ==, !=, is, is not, in, not in 논리연산: and, or, not, ∙1번의 예와 의미가 다르다. 이해하라. |
if 5 in [1,3,5,7]: print('exist') |
∙5가 [1,3,5,7]의 원소이면 참이 된다. | ||
3 | 참과 거짓 | a=“” if a: print('True') else: print('False') |
∙참과 거짓은 다음과 같이 판단한다. 거짓:False, 숫자 0, None, ''(빈 문자열),[], (), {} 등 참 :True, 위의 거짓이 아닌 모든 것 |
4 | 3항 연산 | a=90 if 90<=a<=100: print('good') else: print('not good') |
∙3항 연산을 할 수 있다. ∙a가 90이상 100이하이면 good를 출력하고, 아니면 not good을 출력하라. ∙2항 연산으로 표현한 (90<=a and a<=100)와 같다. |
5 | 조건 표현식 (conditional expression) |
a=90 b=100 min=a if a<=b else b print(min) |
∙표현식의 가운데에 있는 조건을 먼저 평가하여, 참이면 왼쪽, 거짓이면 오른쪽을 변수에 할당한다. ∙다음과 완전히 같은 의미이다. a=90 b=100 if a<=b: min=a else: min=b print(min) ∙다음과 같이 표현할 수도 있다. min=(b,a)[a<=b] #조건이 거짓이면 b, 참이면 a |
4. 문제 해결
example 1(학점 판단) | example 2(이동 수단) |
점수가 90점 이상이면 ‘A', 80점 이상이면 ’B', 70점 이상이면 'C', 60점 이상이면 'D' 그 외는 ‘F' 학점이 되게 하세요. | 우리 집에는 오토바이(motorbike), 차(car), 헬리콥터 (copter) 그리고 제트기(jet)도 있습니다. 그러나 자전거(bike)가 없으면 BMW(버스, 지하철, 걷기)를 출력하세요. |
score=100 if score>=90: grade='A' elif score>=80: grade='B' elif score>=70: grade='C' elif score>=60: grade='D' else: grade='F' print(grade) |
home=['motorbike', 'car','copter','jet'] if 'bike' not in home: print('BMW') |
<간단한 방법도 있다> score=100 a='FFFFFFDCBAA' grade=a[score//10] #점수를 10으로 나눈 몫이 index print(grade) |
철저하게 분석하셨습니까?
수고하셨습니다.
오늘 끝.
728x90
반응형
'알고리듬' 카테고리의 다른 글
[알고리듬] #44 윤년과 평년(2) (0) | 2024.04.08 |
---|---|
[알고리듬] #43 윤년과 평년(1) (2) | 2024.04.07 |
[알고리듬] #41 브야사의 한 삶 (2) | 2024.04.07 |
[알고리듬 ] #40 파일 처리 (1) | 2024.04.07 |
[알고리듬] #39 파일 입출력 (0) | 2024.04.06 |