rueki

day3-1. if ~ else 문 본문

python

day3-1. if ~ else 문

륵기 2020. 1. 5. 21:03
728x90
반응형

모든 프로그래밍 언어의 문법에서 많이 언급되는 것이 제어문인 조건문과 반복문이다.

이번 시간에는 그 중에서도 조건문인 if 문에 대해서 알아보도록 하겠다.

 

기본적인 구조로는 if ~ elseif ~ elif ~ else 이며 다른 언어와의 다른 점이라면 else if가 elif로 사용되고,

무엇보다 탭 1번 혹은 공백 4칸으로 블록을 지정해야한다. 들여쓰기가 없는 경우에는 IndentationError가 발생한다.

그리고 파이썬에서는 Switch 문이 없다.


1. 단순 if 문 구조

if 조건 :

    명령문

 

첫 번째 예제로 두 수 a와 b를 비교하고 그에 대한 결과를 출력하는 것을 해보자.

a = 1
b = 10
if a>b:
    print('a는 b보다 크다')
if a<b:
    print('a는 b보다 작다')

이의 결과는 b가 더 크니 a<b 에 대한 명령문만 실행이 되어 'a는 b보다 작다' 가 출력 될 것이다.

두 번째 예제로는 짝수인지 홀수인지를 판단하는 문제를 풀어보자.

myNum = 45
if myNum%2 == 0:
    print("짝수")
if myNum%2 == 1:     #if (myNum%2) !=0:
    print("홀수")

홀수 짝수 비교에는 나머지 연산이 제일 간단하다는 것은 알고 있을 것이다. 이의 결과 역시, 45는 홀수이니 '홀수' 라고 출력이 될 것이다.


Quiz1. 숫자를 입력 받고 그 숫자가 3의 배수인지 아닌지를 판단해서 3의 배수이면 '3의 배수이다' 를 출력하고, 3의 배수가 아니면 '3의 배수가 아니다' 라고 출력하시오

 

여기서는 위에서 단순 if문으로 역시 풀 수 있지만, 더 중요한 개념인 if ~ else 문 개념을 사용해서 풀어보자.

 

2. if ~ else 조건문

if 조건 : 
    명령문1
else:
    명령문2

 

if ~ else 문의 기본 구조로서, if 문의 조건이 옳지 않으면, else 문의 명령문을 실행하는 것이다.

위에서 사용한 단순 if문 구조의 문제를 예제로 들어보자. myNum이 짝수인지 홀수 인지 판단할 때,

짝수일때와 그 외의 경우를 나누는 것과 같을 것이다.

즉, 코드로는

myNum = 45
if myNum % 2== 0:
	print('짝수')
else:
	print('홀수')

이렇게 작성할 수 있을 것이다.

 

이제 Quiz 1에 적용을 해보자.

3의 배수일때를 if의 조건문에 사용하고 3의 배수가 아닐때를 else의 경우로 생각하면 된다.

num = int(input('숫자를 입력해주세요.'))

if num % 3 ==0:
    print("3의 배수이다.")
else:
    print("3의 배수가 아니다")

이젠 3번째 구조인 if ~ elif ~ else를 살펴보자.

 

if 조건:
 명령문1
elif 조건2:
 명령문2
else:
 명령문3

 

예제를 통해서 알아보자.

이번 예제의 문제는 입력받은 숫자가 양수, 음수 0, 총 3가지를 구별하는 것이다.

0보다 크면 양수, 0보다 작으면 음수, 0이면 0 이렇게 출력하는 구조를 가진다.

num = int(input())
if num > 0:
    print('양수')
elif num< 0 :
    print('음수')
elif num ==0 :
    print('0')

기본적인 조건문을 알아보았으니 이제 in / not in 연산자를 알아보자.

 

아이템 in 그룹(튜플, 리스트, 문자열, 집합) -> true/false
아이템 not in 그룹(튜플, 리스트, 문자열, 집합) -> true/false

 

뜻 그대로 in은 안에 속하는지? , not in은 없는 것인지? 에 대해 결과값을 true / false 로 반환한다.

 

#값이 리스트에 있는가?
myList = [100,200,300]
print(100 in myList)
print(1 in myList)
print(1 not in myList)

100이 리스트 안에 있으니 true 값을 반환하고, 1은 리스트에 없으니 두 번째 명령문에 대해서는 false, 그 다음 명령문에서는 true 값을 반환 할 것이다.

 

다음 시간에는 반복문인 for문과 while 문에 대해서 알아보자.

728x90
반응형

'python' 카테고리의 다른 글

day4-2. lambda 함수, 내장함수  (0) 2020.01.06
day4-1. 함수 (Function)  (0) 2020.01.06
day3-2. 반복문 (for , while)  (0) 2020.01.05
day2. 집합 자료형  (0) 2020.01.01
day1. 파이썬의 기초 - 변수와 문자열, 연산자  (0) 2020.01.01
Comments