본문 바로가기
코딩 연습/코딩배우기

12 간지 띠 알아보기 (파이썬 기초 예제)

by good4me 2021. 7. 18.

goodthings4me.tistory.com

간지(干支)에 대해,  십간(十干)과 십이지(十二支)라는 의미이며, 십간은 "갑,을,병,정,무,기,경,신,임,계"이고, 십이지는 "자,축,인,묘,진,사,오,미,신,유,술,해"이다. 즉, 띠 이름으로 '쥐', '소', '호랑이', '토끼', '용', '뱀', '말', '양', '원숭이', '닭', '개', '돼지'이다.

 

 

출생연도는 무슨 해일까? 그리고 띠를 알아본다면...

■ 간지(干支) - 십간(十干)과 십이지(十二支)

ten_gan = ['庚', '辛', '壬', '癸', '甲', '乙', '丙', '丁', '戊', '己']  #갑4, 을5, ~ 경0
twelve_ji = ['申', '酉', '戌', '亥', '子', '丑', '寅', '卯', '辰', '巳', '午', '未']  #자4, 축5, ~ 신0
ddi = ['원숭이', '닭', '개', '돼지', '쥐', '소', '호랑이', '토끼', '용', '뱀', '말', '양']


## 서기 4년 - 甲子년
# 간지 - 甲(4) ~ 庚(0) : 연도를 10으로 나눈 나머지
# 지지 - 子(4) ~ 申(0) : 연도를 12로 나눈 나머지
year = int(input('연도는? >> '))
gan = year % 10
ji = year % 12
print(f"{year}년 - {ten_gan[gan]}{twelve_ji[ji]} ('{ddi[ji]}띠'해입니다.)")


[결과]
연도는? >> 2022
2022년 - 壬寅 ('호랑이띠'해입니다.)
  • 서기 4년을 갑자년으로 하다보니 갑(甲)과 쥐(子)띠가 4이고, 그러다보니 리스트의  index도 거기에 따라야 한다고 함. 

 

good4me.co.kr

 

■ 60갑자 순서 출력

gan = ['甲', '乙', '丙', '丁', '戊', '己', '庚', '辛', '壬', '癸']
ji = ['子', '丑', '寅', '卯', '辰', '巳', '午', '未', '申', '酉', '戌', '亥']

g = 0
j = 0
cnt = 0
while cnt < 60:
    if g == 10: g = 0
    if j == 12: j = 0
    print(f'{cnt + 1:2} : {gan[g]}{ji[j]}')
    g += 1
    j += 1
    cnt += 1
    
    
 [실행 결과]
 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 : 戊午
56 : 己未
57 : 庚申
58 : 辛酉
59 : 壬戌
60 : 癸亥

 

 

■ 서기 4 ~ 2021 간지 현황

gan = ['甲', '乙', '丙', '丁', '戊', '己', '庚', '辛', '壬', '癸']
ji = ['子', '丑', '寅', '卯', '辰', '巳', '午', '未', '申', '酉', '戌', '亥']

cnt = 4
i = 0
j = 0
while True:
    if i == 10: i = 0
    if j == 12: j = 0
    print(f'{cnt}년 - {gan[i]}{ji[j]}')
    i += 1
    j += 1
    cnt += 1
    if cnt == 2023:
        break
 
 
[결과]
4년 - 甲子
5년 - 乙丑
6년 - 丙寅
7년 - 丁卯
8년 - 戊辰
9년 - 己巳
10년 - 庚午
.
.
.
1590년 - 庚寅
1591년 - 辛卯
1592년 - 壬辰
1593년 - 癸巳
1594년 - 甲午
.
.
.
1884년 - 甲申
1885년 - 乙酉
1886년 - 丙戌
1887년 - 丁亥
1888년 - 戊子
1889년 - 己丑
1890년 - 庚寅
1891년 - 辛卯
1892년 - 壬辰
1893년 - 癸巳
1894년 - 甲午
1895년 - 乙未
.
.
.
2000년 - 庚辰
2001년 - 辛巳
2002년 - 壬午
2003년 - 癸未
2004년 - 甲申
2005년 - 乙酉
2006년 - 丙戌
2007년 - 丁亥
2008년 - 戊子
2009년 - 己丑
2010년 - 庚寅
2011년 - 辛卯
2012년 - 壬辰
2013년 - 癸巳
2014년 - 甲午
2015년 - 乙未
2016년 - 丙申
2017년 - 丁酉
2018년 - 戊戌
2019년 - 己亥
2020년 - 庚子
2021년 - 辛丑
2022년 - 壬寅

 

댓글