Python, 빠른 요일/주말 검사 함수
글. 수알치 오상문
# 요일을 알려주는 함수
# 입력 y:연도, m:월, d:일
# 반환 0=일요일, 1=월요일, ..., 6=토요일
def chk_dayofweek(y, m, d):
t = [0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4]
y -= m < 3;
return (y + y//4 - y//100 + y//400 + t[m-1] + d) % 7
# 주말(토/일)인지 검사하는 함수
# 입력 y:연도, m:월, d:일
# 반환 1:일요일/토요일, 0:평일
def chk_weekend(y, m, d):
t = [0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4]
y -= m < 3;
chk = (y + y//4 - y//100 + y//400 + t[m-1] + d) % 7
return 1 if chk==0 or chk==6 else 0
DayOfTheWeek = ['일', '월', '화', '수', '목', '금', '토', '일']
# 테스트 ------------------------------------
year = 2022 # 연도
month = 6 # 월
# 날짜별 출력
for day in range(1, 31):
print(f"{year}년 {month}월 {day}일", end=" : ")
print(DayOfTheWeek[chk_dayofweek(year, month, day)], end=" : ")
print("야호, 주말!!!" if chk_weekend(year, month, day) else "")
[실행 결과]
22022년 6월 1일 : 수 :
2022년 6월 2일 : 목 :
2022년 6월 3일 : 금 :
2022년 6월 4일 : 토 : 야호, 주말!!!
2022년 6월 5일 : 일 : 야호, 주말!!!
2022년 6월 6일 : 월 :
2022년 6월 7일 : 화 :
2022년 6월 8일 : 수 :
2022년 6월 9일 : 목 :
2022년 6월 10일 : 금 :
2022년 6월 11일 : 토 : 야호, 주말!!!
2022년 6월 12일 : 일 : 야호, 주말!!!
2022년 6월 13일 : 월 :
2022년 6월 14일 : 화 :
2022년 6월 15일 : 수 :
2022년 6월 16일 : 목 :
2022년 6월 17일 : 금 :
2022년 6월 18일 : 토 : 야호, 주말!!!
2022년 6월 19일 : 일 : 야호, 주말!!!
2022년 6월 20일 : 월 :
2022년 6월 21일 : 화 :
2022년 6월 22일 : 수 :
2022년 6월 23일 : 목 :
2022년 6월 24일 : 금 :
2022년 6월 25일 : 토 : 야호, 주말!!!
2022년 6월 26일 : 일 : 야호, 주말!!!
2022년 6월 27일 : 월 :
2022년 6월 28일 : 화 :
2022년 6월 29일 : 수 :
2022년 6월 30일 : 목 :
반응형
'Python 활용' 카테고리의 다른 글
파이썬, 함수에서 발생한 에러를 함수 호출한 곳으로 넘기기 (0) | 2022.07.23 |
---|---|
파이썬, 코드 문서화에 도움을 주는 독스트링과 스핑크스 (0) | 2022.07.21 |
파이썬, 부모 경로에 있는 디렉터리 import (0) | 2022.06.28 |
Python, 백그라운드 스케줄러 예제 (0) | 2022.06.27 |
Python, mysql (pymysql) auto reconnect (0) | 2022.06.27 |