제어문(1)
● 제어문(Control Statement)
- 프로그램 언어에서 실행 순서를 변경하거나, 조건에 따라서 실행해야 할 명령문을 제어하기 위한 구문
- 일반적으로 프로그램은 위에서 아래로 수행되지만,
특정 조건에서만 수행하거나 특정 부분을 반복해서 실행할 경우 등에 필요
- 제어문의 종류 : 조건문, 반복문, 기타 제어문
- 조건문 : if, elif, 삼항조건문
- 반복문 : while, for
- 기타 제어문 : break, continue
1. 조건문(Condition Statement)
- "조건에 따라 다른 것"을 구현하는 문장
- 조건에 따라 해야할 일이 다를 때 사용
- if, if-else, if-elif, if-elif-else
(1) if
if 조건:
조건이 True일 때 해야 할 문자
(ex)
a = 1
if a > 0:
print('a는 양수')
(2) if - else
if 조건:
조건이 True일 때 해야할 문장
else:
조건이 False일 때 해야할 문장
(ex)
b = -1
if b > 0:
print('b는 양수')
else:
print('b는 양수 아님')
(3) if - elif(cf. c - else if, java - else if)
if 조건1:
조건1이 True일 때 실행할 문장
elif 조건2:
조건1은 False, 조건2는 True일 때 실행할 문장
(4) if-elif-else
if 조건1:
조건1의 결과가 True일 때 실행할 문장
elif 조건2:
조건1은 False, 조건2는 True일 때 실행할 문장
elif 조건3:
조건1, 조건2 둘 다 False, 조건3이 True일 때 실행할 문장
else:
모든 조건이 False일 때 실행할 문장
※ if문 검사 순서
if-if : 조건1, 조건2를 둘 다 검사
if-elif : 조건1이 True이면 조건2는 Skip
실습(if statement)
1. a = 1 일 때
a = 1
if a > 0:
print('a는 양수1')
if a == 1:
print('a는 1')
if not a != 1:
print('a는 1이 아닌게 아님')
![](https://blog.kakaocdn.net/dn/bdFLjB/btrlqLQLz31/oTC8080tJm6YJ6vNQsfh20/img.png)
2. a = -100 일 때
- 양수2 : a가 0보다 작아서 출력되지 않음
- 양수3 : 들여쓰기 레벨이 낮아서 오류발생
- 양수4 : 들여쓰기 레벨이 높아서 오류발생
a = -100
if a > 0:
print('a는 양수2')
# print('a는 양수3') # 오류 : 파이썬은 들여쓰기(indent)가 매우 중요함
# print('a는 양수4') # 윗 줄보다 들여쓰기 레벨이 높아도 안됨
print('a는 양수5') # 위의 if문과 상관없는 코드가 됨
![](https://blog.kakaocdn.net/dn/Q0lOy/btrlyiMOBxu/3U0NNpXd4qNPuDsLKrZOSk/img.png)
3. if문과 같은 줄에 실행문을 넣었을 때
- 오류 발생 : 아래 줄 코드의 들여쓰기를 맞춰도 오류 발생
if a < 0: print('a는 양수6') # if문 줄에 실행문을 넣으면 아래는 들여쓰기를 맞춰도 오류
print('a는 양수7')
![](https://blog.kakaocdn.net/dn/cGZkSQ/btrlyYtOWJS/KPP5NBNzJHvAwKKoKaqix1/img.png)
4. if문과 같은 줄에 실행문을 넣는 방법
if a < 0: print('a는 양수8'); print('a는 양수9')
![](https://blog.kakaocdn.net/dn/wC3Zh/btrlxKJz5on/Gpx1DntwB7xTEsktVbYuWk/img.png)
5. 할당연산자를 조건문에 넣었을 때
- 오류 발생 : 파이썬은 할당연산자를 조건문에 넣을 수 없음
if a = 2:
print('a는 2')
실습(if-else statement)
1. b = 1 일 때
- b는 양수가 아니므로 if문의 print()는 실행되지 않음
b = -1
if b > 0:
print('b는 양수')
else:
print('b는 양수 아님1')
![](https://blog.kakaocdn.net/dn/b9Mv9L/btrlw3ixJ95/1OVsJjJBgp8LTQMuWYa8Pk/img.png)
2. b가 0보다 클 때
- b는 양수가 아니므로 if문의 print()는 실행되지 않음
- else문의 print()문 모두 출력됨
if b > 0:
print('b는 양수')
else:
print('b는 양수 아님2')
print('b는 양수 아님3')
![](https://blog.kakaocdn.net/dn/zWBd6/btrlxKpg4fi/2OpiMjHwUyCqWdXtOITr40/img.png)
실습(if-elif statement)
1. c = 0 일 때
- c는 0이므로 elif문의 print()가 실행됨
c = 0
if c > 0:
print('c는 양수')
elif c == 0:
print('c는 0')
![](https://blog.kakaocdn.net/dn/bLB1Iw/btrlw3QpzYY/chk5OuJ0CXJCWyTIX5nHl1/img.png)
2. d = 60 일 때
- if문과 elif문 모두 맞지만 if문의 조건이 먼저 검사되므로 if문의 print()만 실행됨
d = 60
if d > 50:
print('d는 큰 양수')
elif d > 0:
print('d는 그냥 양수')
![](https://blog.kakaocdn.net/dn/5YDhv/btrlyYUUE0g/N0G7fKqVbKQHUXRf0YWhV0/img.png)
실습(if-elif-else statement)
1. e = -30 일 때
- c는 음수이므로 else문의 print()가 실행됨
e = -30
if e > 0:
print('e는 양수')
elif e == 0:
print('e는 0')
else:
print('e는 음수')
![](https://blog.kakaocdn.net/dn/bb2uEk/btrlqMB9hic/qDsp8SIkGDqf1SMpxvddy0/img.png)
실습(총정리)
1. 사용자로부터 숫자 하나를 입력받는다.
num = float(input('숫자를 입력하세요 : '))
2. 입력한 숫자가 양수인지 0인지 음수인지를 출력한다.
if num > 0:
print('a는 양수')
elif num == 0:
print('a는 0')
else:
print('a는 음수')
3. 결과
![](https://blog.kakaocdn.net/dn/5SJEj/btrlshBWtCn/B0xOEU3quS2YV1xL3pe9uk/img.png)
'Python' 카테고리의 다른 글
[Python] 07 (0) | 2021.11.21 |
---|---|
[Python] 06 (0) | 2021.11.20 |
[Python] 04 (0) | 2021.11.17 |
[Python] 03 (0) | 2021.11.15 |
[Python] 02 (0) | 2021.11.12 |