안녕하세요. Harry입니다.
현재 풀이중인 초보자를 위한 파이썬 300제 풀이를 진행하면서 나름대로 파악했던 문제 출제 의도와 풀이를 작성했습니다.
모든 풀이는 직접 Pycharm을 통해 에러없이 출력됨을 확인 후 작성했습니다.
초보자를 위한 파이썬 300제 풀이는 Wikidocs에 무료로 배포된 전자책을 활용했습니다/
[학습목표]
1. 각 문제별 요구하는 역량(출제의도)이 무엇인지 파악할 수 있다.
2. 각 문제별 요구하는 기술 및 기능을 활용하여 문제를 해결할 수 있다.
241 ~ 250
241 현재시간
datetime 모듈을 사용해서 현재 시간을 화면에 출력해보세요.
- 요구역량 : datetime 모듈을 import하여 내장된 함수를 활용할 수 있는가?
datetime 모듈 내에 있는 datetime 클래스 중 now 함수를 가져와 print 해야합니다.
정답확인
import datetime
now = datetime.datetime.now()
print(now)
242 현재시간의 타입
datetime 모듈의 now 함수의 리턴 값의 타입을 화면에 출력해보세요.
- 요구역량 : datetime 모듈을 import하여 내장된 함수를 활용할 수 있는가?
정답확인
import datetime
now = datetime.datetime.now()
print(now, type(now))
243 timedelta
datetime 모듈의 timedelta를 사용해서 오늘로부터 5일, 4일, 3일, 2일, 1일 전의 날짜를 화면에 출력해보세요.
- 요구역량 : datetime 모듈/클래스 및 timedelta 클래스를 활용하여 원하는 날짜를 출력할 수 있는가?
원리는 아래와 같습니다.
now = 현재 시각
yesterday = 1일
now - yesterday를 할 경우, 현재 시각에서 1일 뺀 값을 출력하므로, 어제 날짜의 이시각(시,분,초 동일)을 출력합니다.
now = datetime.datetime.today()
yesterday = datetime.timedelta(days=1)
print(now-yesterday)
이 원리에 입각하여, for문을 활용하여 5일전,4일전....1일전을 현재 시각에서 뺄 수 있도록 반복해준 것 뿐입니다.
알고나니 이해가 되지만, 모듈에 속한 클래스의 종류, 클래스에 속한 기능의 종류와 역할을 모르다 보니 많이 헤메고 있네요 ㅠㅠ
정답확인
import datetime
now = datetime.datetime.now()
for day in range(5, 0, -1):
delta = datetime.timedelta(days=day)
date = now - delta
print(date)
244 strftime
현재시간을 얻어온 후 다음과 같은 포맷으로 시간을 출력해보세요. strftime 메서드를 사용하세요.
- 요구역량 : datetime 모듈/클래스 및 strftime 클래스를 활용하여 원하는 날짜를 출력할 수 있는가?
strftime 메서드는 %H,M,S로 대문자로 써야 현재 시분초를 나타낼 수 있습니다.
%y(2자리 연도)%Y(4자리 연도)
%m(월) %d(날짜) -> 소문자로 작성
%a(요일/단축표시),%A(요일/전체표시)
18:35:01
정답확인import datetime
now = datetime.datetime.today()
print(now.strftime('%H:%M:%S'))
245 strptime
datetime.datetime.strptime 메서드를 사용하면 문자열 형식의 시간을 datetime.datetime 타입의 시간 값으로 만들어줍니다. "2020-05-04"의 문자열을 시간 타입으로 변환해보세요.
- 요구역량 : strptime 메서드를 활용하여 특정 문자열을 datetime 타입으로 변환하여 출력할 수 있는가?
1) 시간 정의(time = "2022-12-22") - 문자열로 정의
2) datetime.strptime(문자열로 정의한 시간, 형식)로 표현해야합니다.
형식은 strftime의 형식과 동일합니다.
%Y-%m-%d 로 나타내주면 됩니다.
- strftime : datetime 형식의 시간을 문자열로 변환
- strptime : 문자열 형식의 시간을 datetime 형식으로 변환
정답확인
import datetime
day = "2020-05-04"
now = datetime.datetime.strptime(day,"%Y-%m-%d")
print(now)
246 sleep 함수
time 모듈, datetime 모듈을 사용해서 1초에 한 번 현재 시간을 출력하는 코드를 작성하세요.
- 요구역량 : time 모듈 내 time.sleep 함수를 활용하여 특정 문구를 일정한 초 간격으로 출력할 수 있는가?
while True: - 무한반복문일 때 자주 활용합니다.
time.sleep() - 괄호 안에는 숫자가 들어가는데, 초 단위입니다.
정답확인
import datetime
import time
while True:
now = datetime.datetime.today()
print(now)
time.sleep(1)
247 모듈 임포트
모듈을 임포트하는 4가지 방식에 대해 설명해보세요.
정답확인248 os 모듈
os 모듈의 getcwd 함수를 호출하여 현재 디렉터리의 경로를 화면에 출력해보세요.
- 요구역량 : 현재 디렉토리 경로를 출력하여 확인할 수 있는가?
정답확인
import os
ret = os.getcwd()
print(ret, type(ret))
249 rename 함수
바탕화면에 텍스트 파일을 하나 생성한 후 os 모듈의 rename 함수를 호출하여 해당 파일의 이름을 변경해보세요.
250 numpy
numpy 모듈의 arange 함수를 사용해서 0.0 부터 5.0까지 0.1씩 증가하는 값을 화면에 출력해보세요.
- 요구역량 : numpy 모듈 내 arrange 함수를 활용할 수 있는가?
정답확인
import numpy
for i in numpy.arange(0, 5, 0.1):
print(i)
모듈쪽은 아직 모르는게 정말 많네요,,
모든 걸 외울필요는 없지만, 능률을 위해서 더 공부하고 필요한 부분은 암기해야겠습니다.
감사합니다.
'Coding Test > 초보자를 위한 파이썬 300제' 카테고리의 다른 글
[독학 파이썬] 초보자를 위한 파이썬 300제 풀이(261~270)_12.22 (0) | 2022.12.22 |
---|---|
[독학 파이썬] 초보자를 위한 파이썬 300제 풀이(251~260)_12.22 (0) | 2022.12.22 |
[독학 파이썬] 초보자를 위한 파이썬 300제 풀이(231~240)_12.21 (0) | 2022.12.21 |
[독학 파이썬] 초보자를 위한 파이썬 300제 풀이(221~230)_12.21 (0) | 2022.12.21 |
[독학 파이썬] 초보자를 위한 파이썬 300제 풀이(211~220)_12.21 (0) | 2022.12.21 |