프로그램
[파이썬] 문제 : 월의 주별 요일 찾기
오디세이99
2022. 12. 20. 21:31
728x90
반응형
(문제)
week = {0:‘월’, 1:‘화’, •••, 6:‘일’} 이라는 딕셔너리(간략하게 썼어요.)를 사용해서 10월의 첫째주 월요일, 둘째주 화요일, 셋째주 수요일, 넷째주 목요일까지 아래 예시처럼 출력해야 하는데요. 어똫게 하는지 감도 안잡혀서요 ㅠㅠ 도와주세요
ex) 월요일: 1일
화요일: 9일
(방법)
from datetime import date, timedelta, datetime
s_date = '20221001' # 2022년 10월 1일의 요일을 먼자 찾습니다.
d_date = datetime.strptime(s_date, '%Y%m%d') # 문자열로 날짜Type으로 변환
week = {0: '월요일', 1:'화요일', 2:'수요일', 3:'목요일', 4:'금요일', 5:'토요일', 6:'일요일'}
d = d_date.weekday() # 날짜의 weekday는 요일 0,1,2,3..6 까지 나옵니다
nd = 7 - d # 첫 월요일을 찾기 위해 계산
d1 = d_date + timedelta(days=nd) # 첫 월요일 날짜 찾기
print(week[d1.weekday()],':',d1.day,'일') # 출력
d2 = d1 + timedelta(days=8) # 다음주 화요일 이니까 8일 더하기
print(week[d2.weekday()],':',d2.day,'일')
d3 = d2 + timedelta(days=8) # 다음주 수요일 이니까 8일 더하기
print(week[d3.weekday()],':',d3.day,'일')
d4 = d3 + timedelta(days=8) # 다음주 목요일 이니까 8일 더하기
print(week[d4.weekday()],':',d4.day,'일')
결과
월요일 : 3 일
화요일 : 11 일
수요일 : 19 일
목요일 : 27 일
728x90
반응형