最近,团队写了一系列关于易经相关的Python程序,和团队商量后,我们决定慢慢将这些程序开源,希望能对正在学习易经的小伙伴能有所帮助。今天既然是第一期,我们首先放一个最简单的,即易经六十四卦的输出。

这个无疑太简单了,输入一个数,从列表中抽取对应的卦就可以,这次我们加一点难度,把六十四卦上下两卦拆开再合成,形成六十四卦。

思路:
首先,我们输入一个数,输出这个数对应的上卦和下卦。其实这个思路和输出一整个卦是一样的。比如第六十四卦水火既济卦,这个卦的上卦是坎水,下卦是离卦,那么其实坎在这个卦里也可以看做第六十四个,离卦也可以看做第六十四个。所以我们把所有的卦,拆分成上卦和下卦,分别做成列表,比如第六十四卦是坎和离,那么我们就把64这个数字放入__Kan_Shang列表和__Li_Xia列表,当输入一个数的时候,判断这个数是否在这两个列表中,如果在,则输出对应的卦就可以。

上代码:

__Qian_Wai = [1, 6, 10, 12, 13, 25, 33, 44]  # 乾卦外
__Qian_Nei = [1, 5, 9, 11, 14, 26, 34, 43]  # 乾卦内
__Dui_Wai = [17, 28, 31, 43, 45, 47, 49, 58]  # 兑卦外
__Dui_Nei = [10, 19, 38, 41, 54, 58, 60, 61]  # 兑卦内
__Li_Wai = [14, 21, 30, 35, 38, 50, 56, 64]  # 离卦外
__Li_Nei = [13, 22, 30, 36, 37, 49, 55, 63]  # 离卦内
__Zhen_Wai = [16, 32, 34, 40, 51, 54, 55, 62]  # 震卦外
__Zhen_Nei = [3, 17, 21, 24, 25, 27, 42, 51]  # 震卦内
__Xun_Wai = [9, 20, 37, 42, 53, 57, 59, 61]  # 巽卦外
__Xun_Nei = [18, 28, 32, 44, 46, 48, 50, 57]  # 巽卦内
__Kan_Wai = [3, 5, 8, 29, 39, 48, 60, 63]  # 坎卦外
__Kan_Nei = [4, 6, 7, 29, 40, 47, 59, 64]  # 坎卦内
__Gen_Wai = [4, 18, 22, 23, 26, 27, 41, 52]  # 艮卦外
__Gen_Nei = [15, 31, 33, 39, 52, 53, 56, 62]  # 艮卦内
__Kun_Wai = [2, 7, 11, 15, 19, 24, 36, 46]  # 坤卦外
__Kun_Nei = [2, 8, 12, 16, 20, 23, 35, 45]  # 坤卦内

以上为上文说的,把六十四卦的上下卦都分别汇总到列表里。

这时候当输入一个数的时候(1-64之间),那么判断当在某一个列表里的时候,那么就可以调用字典里的值。算法如下:

 def Get_Num_Wai(self):
        self.fanel_num = rand_num
        if self.fanel_num in self.__Qian_Wai:
            self.fstgua = 0
            print(self.__Qian_W['QW'])
        elif self.fanel_num in self.__Dui_Wai:
            self.fstgua = 0
            print(self.__Dui_W['DW'])
        elif self.fanel_num in self.__Li_Wai:
            self.fstgua = 3
            print(self.__Li_W['LW'])
        elif self.fanel_num in self.__Zhen_Wai:
            self.fstgua = 2
            print(self.__Zhen_W['ZW'])
        elif self.fanel_num in self.__Xun_Wai:
            self.fstgua = 2
            print(self.__Xun_W['XW'])
        elif self.fanel_num in self.__Kan_Wai:
            self.fstgua = 1
            print(self.__Kan_W['KW'])
        elif self.fanel_num in self.__Gen_Wai:
            self.fstgua = 4
            print(self.__Gen_W['GW'])
        elif self.fanel_num in self.__Kun_Wai:
            self.fstgua = 4
            print(self.__Kun_W['KW'])
    if self.fanel_num in self.__Qian_Nei:
        self.scdgua = 0
        print(self.__Qian_N['QN'])
    elif self.fanel_num in self.__Dui_Nei:
        self.scdgua = 0
        print(self.__Dui_N['DN'])
    elif self.fanel_num in self.__Li_Nei:
        self.scdgua = 3
        print(self.__Li_N['LN'])
    elif self.fanel_num in self.__Zhen_Nei:
        self.scdgua = 2
        print(self.__Zhen_N['ZN'])
    elif self.fanel_num in self.__Xun_Nei:
        self.scdgua = 2
        print(self.__Xun_N['XN'])
    elif self.fanel_num in self.__Kan_Nei:
        self.scdgua = 1
        print(self.__Kan_N['KN'])
    elif self.fanel_num in self.__Gen_Nei:
        self.scdgua = 4
        print(self.__Gen_N['GW'])
    elif self.fanel_num in self.__Kun_Nei:
        self.scdgua = 4
        print(self.__Kun_N['KN'])

前一部分为上卦的判断,下一部分为下卦的判断,if中间的赋值是五行生克的算法,这个代码我们后续公开。

最终将会输出上卦和下卦的组合,形成一个完整的六十四卦。需要完整代码的小伙伴可以私信我索要,用于研究学习。

下一期我们将公开梅花易数排盘的代码,关注我不要错过哦~

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐