rueki
day3-1. if ~ else 문 본문
모든 프로그래밍 언어의 문법에서 많이 언급되는 것이 제어문인 조건문과 반복문이다.
이번 시간에는 그 중에서도 조건문인 if 문에 대해서 알아보도록 하겠다.
기본적인 구조로는 if ~ else 와 if ~ 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 문에 대해서 알아보자.
'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 |