여행을 개발하다

If, else (조건문) 본문

BackEnd/Python

If, else (조건문)

yhtragramming 2019. 5. 17. 12:49

오늘은 조건문 'If'와 'elif'에 대해 포스팅을 진행하겠습니다.

(1) IF

우선, 다음과 같은 조건이 있다고 가정합니다.

 

"수학 점수가 60점 이상인 사람은 집에 가고, 그렇지 않은 사람은 나머지 공부를 한다."

 

프로그래머가 60점 이하인 점수를 모두 리스트하여, 집에 갈 사람,

나머지 공부를 할 사람을 거르는 것이 가능하긴 하지만

엄청난 시간과 막노동(?)이 필요하다는 것이 분명합니다.

 

그래서 필요한 것이 바로 'if'라는 조건문입니다.

if 조건문을 사용한다면, 컴퓨터가 참/거짓을 판단하여,

상황에 맞게 알맞은 값을 돌려주게 됩니다.

 

if 문의 구성은 다음과 같습니다.

 

if 조건 :

조건이 참일 경우, 수행할 문장 1

조건이 참일 경우, 수행할 문장 2

else :

조건이 거짓일 경우, 수행할 문장 A

조건이 거짓일 경우, 수행할 문장 B

 

If문을 사용할 때는 다음과 같은 부분에 주의해야 합니다.

 

1. 조건을 설정하고 반드시 콜론(:)을 입력해야 한다.

(실제로 매우 빠뜨리기 쉽습니다.)

 

2. if문에 소속되어 있는 수행문은 동일한 들여쓰기로 지정되어야 한다.

(만약 들여쓰기가 일정하지 않다면 에러가 발생한다.)

 

3. 비교 연산자를 적절하게 활용한다. 비교 연산자는 6개가 있습니다.

# a==b : a는 b랑 같다:

# a!=b : a는 b랑 다르다

# a>b : a는 b보다 크다.

# a<b : a는 b보다 작다.

# a>=b : a는 b보다 크거나 같다.

# a<=b : a는 b보다 작거나 같다.

 

4. 'else'는 조건이 거짓일 때의 값을 돌려주고, 이 또한 콜론(:)으로 마무리한다.

하지만 절대로 if없이 단독으로 사용이 불가능하다.

 

위와 같은 부분에 유의하며,

"수학 점수가 60점 이상인 사람은 집에 가고, 그렇지 않은 사람은 나머지 공부를 한다."

에 대해 참, 거짓을 판별하는 조건문을 작성해보겠습니다.

* 학생1의 수학점수를 변수 'math_stu1'로 설정하였습니다.

그리고 값(점수)를 61점으로 입력하였네요.

* 만약 60점 이상이면, 컴퓨터는 '집에 가세요.'를 출력하게 됩니다.

* 하지만 그렇지 못하면 '남아서 더 공부하세요'를 출력하게 됩니다.

 

그 결과, '집에 가세요.'가 결과 값으로 나왔네요.

 

여기서 조심해야 할 내용은, '=='와 '='의 차이점입니다.

1. 'a==b'는, 'a는 b와 같다'

2. 'a = b'는 'a값에 b를 대입한다'

라는 의미를 전달합니다.

 

다시 생각해보면, 위의 예제 'math_stu1 = 61'의 의미는

'math_stu1'이라는 변수에 '61'이라는 값을 대입하겠다는 의미가 됩니다.

 

조건은 위와 같이 1개로만 이루어질 수도 있지만,

복잡한 조건을 넣어야 할 때는 다수 조건도 포함 시킬 수 있습니다.

다수 조건을 포함시키는 연산자는 3가지로 나뉩니다.

 

1. x or y : x와 y중에 둘 중 하나만 참이면 참이다.

2. x and y : x와 y 모두 참이어야 참이다.

3. not x : x가 거짓이면 참이다.

 

예를 들어 보겠습니다.

# 1. "수학 점수, 국어 점수 모두가 60점 이상인 사람이어야 집에 간다."

# 2. "수학 점수, 국어 점수 중 하나만 60점 이상인 사람은 집에 간다."

# 3. "수학 점수가 60점 이하거나, 국어 점수가 60점 이하이면 집에 간다."

"수학 점수가 60점 이상이 아니거나, 국어 점수가 60점 이상이 아니면 집에 간다."

 

예제에 대한 결과 값은,

"남아서 더 공부하세요!(#1)", "집에 가세요.(#2)", "집에 가세요.(#3)"

이 됩니다.

 

(2) elif

기타 여러가지의 조건을 설정하고 싶을 때는, 'elif'를 함께 사용하시면 됩니다.

하지만 else처럼 절대로 if없이는 사용하실 수 없습니다.

 

다음과 같은 조건이 있다고 가정하겠습니다.

#####################################################################

"온도를 입력 받고, 100도 이상일 경우 '기체', 80도 이상일 경우 '뜨겁다',

30도 보다 높을 때는 '미지근', 0도 이상일 때는 '차갑다', 0도 이하일 때는 '얼음'이라고 출력"

#####################################################################

 

이를 elif를 사용하여 나타내면, 다음과 같습니다.

여기서 "temp=int(input("온도를 입력하세요>>>")"는

 

1. 온도라는 변수 'temp'를 만들되,

2. 입력 값은 정수(integer)을 뜻하는 'int'라는 명령어로, 정수만을 입력 받고,

(문자열을 입력하면 다음과 같은 에러가 발생합니다)

 

3. 입력란에는 "온도를 입력하세요>>>"라는 문자와 함께 출력한다.

 

위와 같이 모든 elif를 사용하여 모든 조건을 반영하였습니다.

그 결과, 온도를 입력하면 다음과 같은 결과를 얻을 수 있었습니다.

 

60을 입력했을 때
100을 입력했을 때

 

-3을 입력했을 때

 

지금까지 if, else, elif의 사용법에 대해 알아보았습니다.

가장 중요한 것은 파이썬에서는 조건문을 포함하여 띄어쓰기와, 문법에 예민하다는 점입니다.

이 점을 가장 주의하면서 파이썬에 대한 기초를 닦아나가야 할 것 같습니다.

'BackEnd > Python' 카테고리의 다른 글

산술 연산, 문자열 포맷팅  (0) 2019.05.17
함수, Print, 주석달기  (0) 2019.05.17
Pycharm을 이용한 Python Project 관리  (0) 2019.05.17
Python & Pycharm 설치  (0) 2019.05.17
Comments