if, elif, else
제어구문
- 프로그램의 실행은 코드의 처음부터 순차적으로 실행이 되지만, 경우에 따라 실행의 순서를 바꿔야 하는 경우가 있다.
- 제어 구문은 이러한 프로그램의 코드 실행 순서를 제어할 수 있다.
if, elif, else 구문의 구조
글로 설명하는 것보
다 그림을 보는게 더 직관적이므로, 다음 그림을 보자
들여쓰기로 강제로 구분을 하기 때문에 가독성이 매우 향상되는 장점이 있다.
파이썬의 비교 연산자
비교 연산자는 True 또는 False를 결과로 반환
비교연산자 | 의미 |
== | 같다 |
!= | 같지 않다 |
< | ~(우)보다 작다 |
<= | ~(우)보다 작거나 같다 |
> | ~(우)보다 크다 |
>= | ~(우)보다 크거나 같다 |
in ... | 멤버쉽 |
파이썬의 논리 연산자
논리 연산자는 True 또는 Flase를 결과로 반환
관계연산자 | 의미 |
and | A and B 의 연산에서 A와 B가 모두 True이면 결과는 True, 아니면 False |
or | A or B 의 연산에서 A와 B가 모두 False이면 결과는 False, 아니면 True |
not | 부정, not A의 연산에서 A가 True이면 결과는 False, A가 False이면 결과는 True |
파이썬에서 부울형이 아니지만, False로 판별되는 경우
다음의 경우는 파이썬에서 fi문에서 False로 판별됨
None, 정수 0, 부동소수점수 0.0, 빈 문자열 "", 빈 리스트 [], 빈 튜플 (), 빈 딕셔너리 {}, 빈 셋 set ()
>>> bool([])
False
>>> bool([1])
True
>>> bool(0)
False
>>> bool(1)
True
예제 예제를 풀어보자!..
예제1) 사용자로부터 나이를 입력받고 19세 이상이면 성면, 아니면 미성년이라고 출력하는 프로그램을 작성.
a = int(input('나이입력하세요: '))
if a>=19:
print("성년입니다.\n")
else:
print("미성년입니다.\n")
나이입력하세요20
성년입니다.
예제2) 사용자로부터 나이를 입력 받고, 13세 이하인 경우 어린이, 14세~18세이면 청소년, 19세 이상이면 성인이라고 출력하는 프로그램 작성
age = int(input('나이를 입력하세요: '))
if age >=19 :
print('성인')
elif age >=14 and age <=18:
print('청소년')
else:
print('어린이')
문제
사용자가 입력한 수가 짝수이면 '짝수', 홀수이면 '홀수' 라고 출력하는 프로그램을 작성하시오.
number = int(input('숫자를 입력하세요: '))
if (number%2) == 1:
print('홀수입니다')
else:
print('짝수입니다')
컴퓨터와 겨루는 가위, 바위, 보 프로그램을 작성하시오
import random
def rock_sissor_paper(com_number):
if com_number == 1:
com_text = '가위'
elif com_number == 2:
com_text = '바위'
elif com_number == 3:
com_text = '보'
return com_text
user = input('가위, 바위, 보 를 입력하세요: ')
com_number = random.randint(1,3)
com_number_convert_text = rock_sissor_paper(com_number)
#가위
if com_number == 1 :
if user == '가위':
print('가위로 비겼습니다.')
elif user == '보':
print('가위로 이겼습니다')
elif user == '바위':
print('가위로 졌습니다')
#바위
elif com_number == 2:
if user == '바위':
print('바위로 비겼습니다')
elif user == '가위':
print('바위로 이겼습니다')
elif user == '보':
print('바위로 졌습니다')
#보
elif com_number == 3:
if user == '보':
print('보로 비겼습니다')
if user == '가위':
print('보로 졌습니다')
elif user == '바위':
print('보로 이겼습니다')
print('내가 낸것: '+ user)
print('컴퓨터가 낸것: '+ com_number_convert_text)
(눈갱)
Summary
- 주석은 #으로 시작하는 한 라인의 텍스트이다.
- 하나의 코드 라인이 길어서 여러 라인으로 쓰고 싶은 경우 라인의 끝에 \를 붙여서 여러 라인으로 작성 할 수 있다.
- 제어 구문은 순차적으로 실행되는 코드의 순서를 제어할 수 있다.
- if, elif, else 구문에서 if문은 처음에 반드시 하나가 와야 하며, elif는 0개이상, else은 0개 또는 하나가 가장 마지막에 올 수 있다.
- 비교 연산자에는 ==, !=, <, <=, >, >= 가 있으며, 논리 연산자에는 not, and, or가 있다
- None, 정수 0, 부동소수점수 0.0, 비어 있는 리스트, 튜플, 딕셔너리, 셋은 if문에서 False로 판정된다.
'Language > Python' 카테고리의 다른 글
[Python] Ch4 - part 3. 컴프리헨션 (0) | 2021.04.07 |
---|---|
[Python] Ch4 - part 2. 반복문 (0) | 2021.03.29 |
[Python] Ch3 - part 3. 셋 (0) | 2021.03.27 |
[Python] Ch3 - part 2. 딕셔너리 (0) | 2021.03.26 |
[Python] Ch3 - part 1.리스트와 튜플 (0) | 2021.03.25 |