본문 바로가기
DevSpace/Python | Django

[Python] 날짜 입력 받아 한국 양/음력 변환

by 반니루니 2019. 11. 12.
반응형

앞서, 포스팅에선 코드안에 값을 미리 넣어두고 그 결과 값을 반환해주는 프로그래밍을 했었습니다.

 


https://toentoi.tistory.com/36

 

[Python] 한국 양/음력 변환

한국 양음력 변환 모듈입니다. 파이썬버전은 3.6입니다. 네트워크 사용 x / 음력 변환은 1391년 1월 1일 부터 2050년 11월 18일까지 지원 pip install : pip install korean_lunar_calendar @pip 사용방법은 이후..

toentoi.tistory.com


이번에는 값을 직접 입력하여(입력받아) ex)2019년 11월 11일의 음력을 구하고 싶습니다. 입니다

 

print와 변수 선언을 해서 입력받으시면 됩니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
from korean_lunar_calendar import KoreanLunarCalendar
 
calendar = KoreanLunarCalendar()
 
#기존 코드입니다.
#calendar.setSolarDate(2019, 9, 22)
#위의 연도=year, 월=month, 일=day를 입력 받아야 합니다.
 
print("양력>>음력변환")
year = int(input("연도입력>>"))
month = int(input("월 입력>>"))
day = int(input("날짜 입력>>"))
calendar.setSolarDate(year, month, day)
print("양력>음력",calendar.LunarIsoFormat(),"입니다.")
print(calendar.getGapJaString())
print(calendar.getChineseGapJaString())
 
#기존 코드입니다.
#calendar.setLunarDate(2019, 9, 22, False)
#양력>>음력 코드와 같이 year,month,day로 입력받습니다.
print("음력>>양력변환")
year = int(input("연도입력>>"))
month = int(input("월 입력>>"))
day = int(input("날짜 입력>>"))
calendar.setLunarDate(year, month, day, False)
print("음력>양력",calendar.SolarIsoFormat(),"입니다.")
print(calendar.getGapJaString())
print(calendar.getChineseGapJaString())
cs

 

 

 

양력>>음력 / 음력>>양력 변환결과

검산은 네이버에서 하시면 되겠죠?

 

 

정상적으로 검산이 되었다.

하지만!!

 

위의코드는 음력만 검색하고싶을때....양력을 한번 거쳐야 한다는 문제점이 있습니다.

 

적절한 입력과 if문을 받아서 조회 할 수 있게 한번 만들어 보았습니다.

많은분들이 참고하시기 바랍니다^^

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
from korean_lunar_calendar import KoreanLunarCalendar
 
command = 'na'
while command != 'x':
    print("")
 
    #값을 입력받기위해 print를 작성해줍니다.
    print("##양>음 / 음>양 변환 선택해주세요.")
    print("1 : 양력>>음력 변환")
    print("2 : 음력>>양력 변환")
    print("x : 종료")
    
    print("")
    command = input("command insert:")
    print("")
    #1을 입력 받을경우 양력>>음력 변환이 선택됩니다.
    if command == "1":
        print("양력>>음력 변환을 선택하셨습니다.")
        print("조회하실 연도,월,일을 입력해주세요.")
        year = int(input("연도입력>>"))
        month = int(input("월 입력>>"))
        day = int(input("날짜 입력>>"))
        calendar = KoreanLunarCalendar()
        # params : year(년), month(월), day(일).
        calendar.setSolarDate(year, month, day)
        # Lunar Date (ISO Format)
        print("양력", year ,"년", month ,"월", day ,"일")
        print("음력날짜:",calendar.LunarIsoFormat(),"일")
        # Korean GapJa String
        print("음력간지:",calendar.getGapJaString())
        # Chinese GapJa String
        print("한문표기:",calendar.getChineseGapJaString())
    #2를 입력받을 경우 음력>>양력 변환이 선택됩니다.
    elif command == "2":
        # params : year(년), month(월), day(일), intercalation(윤달여부)
        print("음력>>양력 변환을 선택하셨습니다.")
        print("조회하실 연도,월,일을 입력해주세요.")
        year = int(input("연도입력>>"))
        month = int(input("월 입력>>"))
        day = int(input("날짜 입력>>"))
        calendar = KoreanLunarCalendar()
        calendar.setLunarDate(year, month, day, False)
        # Solar Date (ISO Format)
        print("양력", year, "년", month, "월", day, "일")
        print("양력날짜:",calendar.SolarIsoFormat(),"일")
        # Korean GapJa String
        print("양력간지:",calendar.getGapJaString())
        # Chinese GapJa String
        print("한문표기:",calendar.getChineseGapJaString())
    elif command == "x":
        #x버튼입력 받을시 프로그램 종료
        print("프로그램을 종료합니다.")
    else:
        #1과 2외의 숫자를 입력받으면 출력
        print("명령어를 잘못입력하셨습니다")
cs
세요^^, 큰 힘이 됩니다. 
*도움이 되셨다면 아래의 광고 클릭을 눌러주세요^^, 큰 힘이 됩니다. 


좋은하루되세요!

https://www.youtube.com/watch?v=E8nOsVWc6LM

반응형