Charles R. Severance (찰스 R. 세브란스)의 <모두를 위한 파이썬(PY4E)> 수강 내용
https://www.boostcourse.org/cs122/joinLectures/284901
학습목표
조건부 실행(Conditional Execution)에 대해서 알아본다.
조건부 실행은 우리의 코드가 무언가가 검사하거나 결정을 내릴 때 사용한다.
파이썬 명령문을 실행시키거나 넘어가는 방법을 알아보도록 한다.
핵심키워드
- 조건부 실행(Conditional Execution)
- 들여쓰기
- if
- else
if문
if문의 기본적인 형태는 아래와 같다
x=5
if x<10: # if는 예약어이며, 컴퓨터는 if 다음에 나오는 조건문의 True, False를 판단
print('Smaller') # 만약 True인 경우 :(콜론) 아래로 들여쓰기 된 부분을 실행
# 여기서는 Smaller가 출력
비교 연산자
조건문의 참 또는 거짓을 판단하기 위해 사용되는 비교 연산자들이 있다. 아래와 같은 비교 연산자들을 사용한다.
연산자 | 의미 | 예시 |
---|---|---|
> | x가 y보다 클 때 True, 그 외에는 False | x > y |
< | x가 y보다 작을 때 True, 그 외에는 False | x < y |
>= | x가 y보다 크거나 같을 때 True, 그 외에는 False | x >= y |
<= | x가 y보다 작거나 같을 때 True, 그 외에는 False | x <= y |
== | x와 y가 같을 때 True, 그 외에는 False | x == y |
!= | x와 y가 다를 때 True, 그 외에는 Flase | x != y |
들여쓰기(indentation)
파이썬에서는 들여쓰기를 매우 엄격하게 생각한다.
들여쓰기가 제대로 되어 있지 않다면 파이썬은 문법 에러를 통해 루리에게 도움을 요청하게 된다.
x=5
ifx<10:
print('Smaller')
File "part2.py", line 4
print('Smaller')
^
IndentationError: expected an indented block
Tab
보다는 Space
네 번으로 사용하자단일 if문, if else문
단일 if문
단일 if문으로 사용하는 경우, 조건문이 참인 경우에만 미리 입력해 놓은 실행코드를 실행하게 된다.
x=5
if x<10:
print('Smaller')
if else문
첫 번째 조건문의 조건이 거짓인 경우에 대해 처리하기 위해 우리는 else를 사용할 수 있다.
즉, 첫 번째 if문의 조건이 거짓인 경우 else문 이하의 실행코드가 실행된다.
x = 11
if x < 10 :
print('Smaller')
else :
print('Bigger')
# 11 < 10 은 False
# 따라서 Bigger이 출력
💡 주의사항
조건문(if, else)을 사용할 때에는 주의할 점이 2가지 있다.
1. 조건문 후에 :(콜론)을 찍어야 한다.
2. 조건문이 참일 경우 실행할 코드는 들여쓰기를 해야한다.
코드를 실행시켰는데 에러가 난다면 위의 두 조건을 제대로 지켰는지 다시 한 번 확인해보자 :)
학습목표
다중 분기(Multi-way Decision) 조건문을 이해하고 사용할 수 있다.
try / except 문을 이용하여 오류를 처리할 수 있다.
핵심키워드
- 다중 분기(Multi-way Decision)
- try / except
다중 분기(Multi-way Decision)
하나의 조건문 블럭에 프로그래머의 필요에 의해 조건문들을 추가할 수 있다.
elif라는 예약어를 통해서 가능
x = 21
if x < 2 :
print('Small')
elif x < 10 :
print('Medium')
elif x < 20 :
print('Big')
elif x < 40 :
print('Large')
elif x < 100 :
print('Huge')
else :
print('Ginormous')
# Large가 출력
try / except
파이썬에는 발생할 수 있는 error에 대해서 프로그래머가 미리 대처를 할 수 있도록 한다.
이는 try / except로 가능하다.
astr = "123"
try:
print("Hello")
isInt = int(astr)
print("World")
except:
isInt = "Integer로 변환할 수 없습니다."
print('Done', isInt)
# Hello
# World
# Done 123이 순서대로 출력
실습
Exercise 3-1
Rewrite your pay computation to give the employee 1.5 times the hourly rate for hours worked above 40 hours.
# Exercise 3-1
sh = input("Enter Hours: ")
sr = input("Enter Rate: ")
fh = float(sh)
fr = float(sr)
# print(fh,fr)
if fh > 40 :
# print("Overtime")
regp = fr * fh
ovtp = (fh-40.0) * (fr * 0.5)
# print(regp,ovtp)
xp = regp + ovtp
else:
# print("Regular")
xp = fh * fr
print("Pay:",up)
실습
Exercise 3-2
Rewrite your pay program using try
and except
so that your program handles non-numeric input gracefully by printing a message and exiting the program. The following shows two executions of the program.
sh = input("Enter Hours: ")
sr = input("Enter Rate: ")
try:
fh = float(sh)
fr = float(sr)
except:
print("Error, please enter numeric input")
quit()
print(fh,fr)
if fh > 40 :
regp = fr * fh
ovtp = (fh-40.0) * (fr * 0.5)
xp = regp + ovtp
else:
xp = fh * fr
print("Pay:",up)