Python for Everybody - Boostcourse
원하는 누구나 들을 수 있는 파이썬 강의
다 함께 배우고 성장하는 부스트코스
부스트코스(boostcourse)는 모두 함께 배우고 성장하는 비영리 SW 온라인 플랫폼입니다.
www.boostcourse.org
이번 포스팅은 다시 부스트 코스에서 배웠던 내용을 중심으로 설명해보려한다.
지금 해야할 것이 너무 많이 밀려있다.
현재 나는 네이버 커넥트 재단 - 부스트 코스의 서포터즈로 활동하고 있다.
해서 강의와 관련된 포스팅을 올려야하는데 관련성이 떨어지는 맥북 환경설정 등과 같은 포스팅을 올려 경고를 받았다.
그래서 이번에는 강의와 관련된 포스팅을 하도록 하겠다.
밀린게 너무 많다.1. 강의 관련된 복습 포스팅은 아직 한 7 포스팅은 더 넘게 올려야 복습이 끝날 것 같고,2. 부스트코스 기한이 끝나기 전에 라이브 강의도 다시한번 들어봐야하고,3. 깃, 깃헙 형상관리 구조도 이해하고 포스팅을 해야한다.4. 코드업에서 파이썬 기초 100제 최단기간에 완료하고,5. 자소서쓴 다음 인턴 지원하고6. 자소서에 올릴 수 있게 포트폴리오 만들고7. 10월 12일에 오픽 시험 있어서 시험공부하고8. 하루에 삼성 SW아카데이 알고리즘 문제 2개씩 풀고 깃헙에 올리기9. 삼성-SSAFY,KT-에이블스쿨, 42서울, 우테캠, 크래프톤 정글 다 지원하기
2주차 학습은 조건부 실행과 함수에 대한 것이었다.
1. 조건문
조건문이 조건부 실행이다. 전 포스팅을 보면 조건문은 건너뛸 수 있게 해주는 것이다.
그리고 건너뛰는 방법에는 여러가지가 있다.
- 조건이 참인 동안에(while) 계속 실행하는 방식
- 만약에(if) 조건이 성립하면 동작하는 방식
- 만약에 그 조건 말고 다른 조건이 성립(if else)하면 동작하는 방식
- 만약에 위에 전부 조건이 성립하지 않는 경우(else)에 동작하는 방식
즉, 조건문에는 4가지가 있다.
while, if, if else, else
그리고 각각의 조건문을 사용하려면 그게 맞는 연산자가 있어야한다.
'만약에 내가 내가 너보다 돈이 더 많았다면 어땠을까?'라는 조건문을 만들고 싶다면
'if'는 그저 '만약에 ~ 어땠을까?' 만을 담당한다.
우리는 '나', '너', '돈' 이라는 변수와 '보다 더 많다'는 연산자가 필요하다.
여기서 내가 너'보다'를 담당하는 비교하는 연산자를 비교 연산자라 한다.
비교 연산자의 예시는 아래와 같다.
아래 코드는 부스트 코스의 강의에 나오는 예시이다. 주석을 추가하였다.
sh = input("Enter Hours: ") #형식의 제한 없이 입력받는다.
sr = input("Enter Rate: ") #형식의 제한 없이 입력받는다.
fh = float(sh) #입력받아 저장한 sh를 float형으로 지정하여 fh에 저장한다.
fr = float(sr) #입력받아 저장한 sr을 float형으로 지정하여 fr에 저장한다.
#print(fh, fr) #중간중간 print를 사용하여 현재 상태를 알아보는 습관을 들이자!
if fh > 40 : #만약 fh의 값이 40보다 크다면 아래 들여쓰기 된 부분을 실행
#print("Overtime")
reg = fr * fh
otp = (fh - 40.0) * (fr * 0.5)
#print(reg, otp)
xp = reg + otp
else: #만약 fh의 값이 40보다 작다면 아래 들여쓰기 된 부분을 실행
#print("regular")
xp = fh * fr
print("Pay:", xp)
2. 예외처리
우리가 문제를 풀다보면 예외처리를 해야할 경우가 있다.
가령 문제의 조건이 "입력받는 수는 두자릿수이다." 와 같은 제한이 걸려 있다면, 이를 조건문으로는 구현하기 힘들다.
물론 while문을 사용하여 조건을 만족할때까지 다시 입력받도록 할 수 는 있지만 그럴수록 구조가 복잡해진다.
"입력받는 수는 두자릿수이다" 라는 한 문장에 벌써 조건이
입력받는 것이 숫자여야하니, 문자가 아니여야하고, 실수가 아니여야하고, 두자리를 벗어나면 안된다.
이것들은 전부 while문을 사용하여 조건을 만족할때까지 다시 실행하기에는 구조도 구조이며, 성능이 낭비된다.
그래서 등장하는 것이 try, except 문. 예외처리이다.
아래는 강의에서 쓰인 try, except문의 예시이다.
sh = input("Enter Hours: ") #형식 지정 없이 입력받는다.
sr = input("Enter Rate: ") #형식 지정 없이 입력받는다.
try: #try문. 입력받은 fh, fr을 float형식으로 변환한다. 이때 fh,fr에 문자가 들어있다면 except문으로 이동.
fh = float(sh)
fr = float(sr)
except: #except문. 들여쓰기 된 부분을 실행한다. except문 안에는 함수 등이 올 수 있다.
print("Error, please enter numeric input")
quit()
#print(fh, fr)
if fh > 40 :
#print("Overtime")
reg = fr * fh
otp = (fh - 40.0) * (fr * 0.5)
#print(reg, otp)
xp = reg + otp
else:
#print("regular")
xp = fh * fr
print("Pay:", xp)
2. 들여쓰기
파이썬에서 들여쓰기는 아주, 아주 중요하다.
기존에 C언어 등 다른 언어를 다뤄 보신 분들은 알겠지만
그런 언어들은 괄호로 묶는 등의 작업을 해주면 이상없이 잘 돌아간다.
하지만 파이썬은 들여쓰기로 해당 문단, 함수를 식별하기 때문에 논리적으로 이상이 없더라도
들여쓰기 하나가 잘못되면 동작하지 않기도 한다.
파이참과 같은 IDE를 사용하면 해당 오류를 자동 식별해주기도 한다.
'[PY4E] Boostcourse 2022 코칭스터디' 카테고리의 다른 글
[PY4E - 모두를 위한 파이썬] Mac 환경설정(2) - 파이참 설치 (0) | 2022.10.02 |
---|---|
[PY4E - 모두를 위한 파이썬(1-1)] 소개, 강의 준비 (0) | 2022.10.02 |
[PY4E - 모두를 위한 파이썬(2-2)] 1주차 미션 피드백 (1) | 2022.10.02 |
[PY4E - 모두를 위한 파이썬] Mac 환경설정(1) - 파이썬 설치 (2) | 2022.09.19 |
[PY4E - 모두를 위한 파이썬(1-2)] 예약어, 순차문, 조건문, 반복문 (0) | 2022.09.14 |