Korean Lunar Calendar를 이용해서 양력에서 음력, 음력에서 양력으로 원하는 변환을 선택하고 날짜를 입력 받아서 선택한 변환을 적용하여 음력간지(연주, 월주, 일주)와 같이 변환 결과를 알려주는 코드를 작성해 보겠다.
이번에도 동일하게 Korean Lunar Calendar를 사용하므로 계산은 '한국천문연구원' 기준이며, 네트워크 연결이 불필요하다.
변환가능한 날짜의 범위 역시 기존과 동일하게 아래와 같다.
- 음력 변환 : 1000년 01월 01일 부터 2050년 11월 18일까지 지원
- 양력 변환 : 1000년 02월 13일 부터 2050년 12월 31일까지 지원
from korean_lunar_calendar import KoreanLunarCalendar
calendar = KoreanLunarCalendar()
print()
print("1. 양력>>음력 변환")
print("2. 음력>>양력 변환")
solar_lunar = int(input(" - 변환 입력 [1/2] >>"))
if solar_lunar == 1:
print()
print("양력>>음력변환")
year = int(input(" - 연도 입력 >>"))
month = int(input(" - 월 입력 >>"))
day = int(input(" - 날짜 입력 >>"))
calendar.setSolarDate(year, month, day)
print()
print("양력>>음력",calendar.LunarIsoFormat(),"입니다.")
print(calendar.getGapJaString())
print(calendar.getChineseGapJaString())
elif solar_lunar == 2:
print()
print("음력>>양력변환")
year = int(input(" - 연도 입력 >>"))
month = int(input(" - 월 입력 >>"))
day = int(input(" - 날짜 입력 >>"))
s_l = input(" - 윤달 [Y/N] >>")
if s_l == 'y' or s_l == 'Y':
inter = True
elif s_l == 'n' or s_l == 'N':
inter = False
calendar.setLunarDate(year, month, day, inter)
print()
print("음력>>양력",calendar.SolarIsoFormat(),"입니다.")
print(calendar.getGapJaString())
print(calendar.getChineseGapJaString())
|
위의 코드는 '양력>>음력' 또는 '음력>>양력' 변환인지를 입력 받아서 원하는 변환하기를 원하는 날짜(2023년 3월 23일) 또한 연, 월, 일 순으로 입력받아서 결과값을 음력간지(연주, 월주, 일주)와 함께 출력하는 코드이다.
코드를 실행시키면 아래와 같이 움력/양력 변환과 연, 월, 일을 입력받아서 결과같을 음력간지(연주, 월주, 일주)와 함께 출력하는 것을 확인할 수 있다.
네이버 달력에서 음력/양력 변환기능을 이용해서 2023년 3월 23일을 양력에서 음력으로 변환해보면, 동일한 결과값을 출력하는 것을 확인할 수 있다.
'음력>>양력' 변환일 경우, 윤달인지 여부를 묻는 항목이 하나 더 추가가 되었고, 윤달일 경우에는 'Y'로, 평달일 경우에는 'N'으로 입력하면 해당 사항이 반영되어 변환된 값을 출력해준다.
'음력>>양력' 변환 역시, 네이버 달력에서 음력/양력 변환기능을 이용해서 2023년 3월 23일을 음력에서 양력으로 변환해보면, 동일한 결과값을 출력하는 것을 확인할 수 있다.
https://31weeks.tistory.com/258
https://pypi.org/project/korean-lunar-calendar/
'프로그래밍 > 파이썬' 카테고리의 다른 글
파이썬 - 날짜 계산(기념일, 기준일 계산) (0) | 2023.03.24 |
---|---|
파이썬 - 양력 음력 변환 (0) | 2023.03.23 |
파이썬 - 블랙잭 게임 (0) | 2023.03.23 |
파이썬 - 슬롯머신 게임 (0) | 2023.03.15 |
파이썬 - 야구게임 (0) | 2023.03.14 |