04. [프로그래밍/Python]제어문 - 조건문(if), if 문법 활용
*복습 및 초보자 참고용으로 작성된 글입니다.
저번 시간에 제어문을 배우기 전 반드시 알아야 할 bool형에 대해서 배웠다.
그중에서도 가장 중요한 건 bool 값을 반환하는 연산자는 논리 연산자, 비교 연산자가 대표적이라는 것을 확인해볼 수 있었다!
제어문의 특징 그리고 논리 연산자와 비교 연산자가 아직 이해가 안 됐다면 이전 포스팅을 한번 더 참고하자.
https://cozzilzzil2.tistory.com/4
03. [프로그래밍/Python]조건문 개념 정의, 자료형 bool(비교연산자, 논리연산자)
*복습 및 초보자 참고용으로 작성된 글입니다. 1-1 조건문 개념 정의 오늘 복습할 개념은 프로그램의 흐름을 제어하는 제어문이다. 제어문 안에는 크게 조건문과 반복문으로 나뉜다. 제어문을 쉽
cozzilzzil2.tistory.com
4-1 조건문 이해
if문의 기본 형식은 다음과 같다.
#기본
if [ bool value] : * ':' 을 반드시 작성해주어야 한다!!
[ 종속 문장 1]
# if의 중첩
if [ ] :
if [ ] :
[종속 문장] :
...
종속 문장이란?
'어딘가에 포함되어 있는 문장', 즉, 제어문을 뒤따르는 문장을 나타낸다.
python에서는 여러 가지 규칙이 존재하는 데, 종속 문장에서 반드시 지켜야 하는 규칙이 바로 '칸 띄우기'이다.
종속 문장은 전부다 앞에 일정한 공백을 띄워주어야 한다는 규칙인데,
Tab을 통해서 칸을 띄워준 상태에서 프로그래밍을 진행해야 한다.
그렇지 않을 경우, IdentationError(칸 띄우기 에러)의 늪에서 헤매는 자신을 발견할 수 있을 것이다.
예제를 보면서 이해해보자.
ex1) 두 수를 입력받고(0-99), 두 수를 더할 때 받아 올림이 발생 여부를 판단하는 프로그램을 작성하시오.
<기획>
1) 먼저 두 수를 입력받는 수 A, B를 작성하기
2) 1의 자리를 추출하는 변수를 따로 선언하기
3) 각 수의 1의 자리 수를 더했을 때, 9를 초과하게 된다면 받아 올림이 발생한다. (조건문 작성)
4) 받아 올림의 여부에 따라 종속 문장을 각각 출력한다.(종속 문장 작성)
<code>
<result>
4-2 if, elif, else
if 문법에 대해서 더 살펴보자.
if >> ~~ 라면
elif >> 그게 아니고 만약 ~~ 라면( else if의 줄임말)
else >> 그 밖의
A = 3 #변수 설정
if A == 1: # 만약 A 가 1이라면
print("A는 1입니다.")
elif A == 2: # A 가 1 이 아니라, 2이라면
print("A는 2입니다.")
elif A == 3: # A 가 1 이 아니고, 2 도 아니고, 3이라면
print("A는 3입니다.")
else: # A 가 1, 2, 3 이 아니면
print("해당 없음")
>> if 구조문에서 특정 종속 문장을 실행하게 되면, 아래의 코드들은 건너뛰게 된다.
예를 들어, 첫 번째 조건문이 성립되지 않으면, 다음 조건문을 거치게 되고, 해당 조건문에 의해 종속 문장이 실행되게 되면,
아래의 조건문들을 생략하는 구조이다.
if 문 만 사용하여 조건문을 프로그래밍할 수는 있지만, 예외 상황들을 일일이 작성해주어야 하기 때문에
elif, else를 적극 사용하는 편이 프로그래밍 구조를 짜는데 훨씬 용이하다.
예제를 보면서 이해해보자.
ex2) 국어, 수학, 과학점수를 입력받고, 세수의 평균을 이용하여 등급을 판별하는 프로그램을 작성해보자.
<기획>
1) 과목 점수를 입력받는 변수 설정하기 (kor, mat, sci)
2) 평균을 출력하는 변수 설정하기 (avg)
3) 평균을 이용하여 조건문 나타내기 (if, elif, else 이용)
4) 해당 조건문에 대한 등급을 종속 문장으로 나타내기
<code>
<result>
지금까지 if문을 알아보았다. 다음 시간에는 반복문 for, while에 대해서 알아보도록 하자.
'programming > python' 카테고리의 다른 글
05. [프로그래밍/Python]반복문 for 개념, range , for 문의 중첩 (0) | 2021.07.07 |
---|---|
03. [프로그래밍/Python]조건문 개념 정의, 자료형 bool(비교연산자, 논리연산자) (0) | 2021.06.26 |
02. [프로그래밍/Python] 자료형(숫자형, 문자형 개념), input (0) | 2021.06.04 |
01. [프로그래밍/Python] 출력, 변수 (0) | 2021.05.26 |