Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬으로 특정 연도의 첫 번째 날(요일) 구하는 방법

이 글에서는 파이썬을 사용해 사용자가 입력한 연도의 첫 번째 날, 즉 1월 1일이 무슨 요일인지 확인하고 출력하는 프로그램을 만들어 보겠습니다. 핵심은 datetime 모듈을 활용하는 것입니다.

알고리즘

프로그램의 동작 순서는 다음과 같습니다.

  1. datetime 라이브러리를 임포트합니다.
  2. 사용자로부터 연도를 입력받습니다.
  3. datetime.datetime() 함수에 연도, 월(1), 일(1)을 매개변수로 전달하여 해당 연도의 첫 번째 날짜 객체를 생성합니다.
  4. strftime() 함수를 사용해 요일을 문자열로 변환하여 화면에 출력합니다.

예제 코드

import datetime

year = int(input("연도를 입력하세요: "))
firstday = datetime.datetime(year, 1, 1)
print("First Day of", year, "=", firstday.strftime("%A"))

위 코드에서 datetime.datetime(year, 1, 1)은 입력받은 연도의 1월 1일에 해당하는 날짜 객체를 생성합니다. 이후 strftime("%A") 형식 지정자를 사용하면 해당 날짜가 속한 요일의 전체 이름(예: Monday, Friday 등)을 영문으로 얻을 수 있습니다.

참고: 요일을 한글로 출력하고 싶다면 아래처럼 리스트를 활용할 수 있습니다.
import datetime

days_ko = ["월요일", "화요일", "수요일", "목요일", "금요일", "토요일", "일요일"]
year = int(input("연도를 입력하세요: "))
firstday = datetime.datetime(year, 1, 1)
print(f"{year}년의 첫날은 {days_ko[firstday.weekday()]}입니다.")

실행 결과

First Day of 2021 = Friday

2021년의 1월 1일은 금요일(Friday)이었기 때문에 위와 같은 결과가 출력됩니다. 이처럼 datetime 모듈만 있으면 별도의 계산 없이 간단하게 특정 날짜의 요일을 확인할 수 있습니다.