在python中实现输出易经六十四卦
最近,團隊寫了一系列關于易經相關的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_numif self.fanel_num in self.__Qian_Wai:self.fstgua = 0print(self.__Qian_W['QW'])elif self.fanel_num in self.__Dui_Wai:self.fstgua = 0print(self.__Dui_W['DW'])elif self.fanel_num in self.__Li_Wai:self.fstgua = 3print(self.__Li_W['LW'])elif self.fanel_num in self.__Zhen_Wai:self.fstgua = 2print(self.__Zhen_W['ZW'])elif self.fanel_num in self.__Xun_Wai:self.fstgua = 2print(self.__Xun_W['XW'])elif self.fanel_num in self.__Kan_Wai:self.fstgua = 1print(self.__Kan_W['KW'])elif self.fanel_num in self.__Gen_Wai:self.fstgua = 4print(self.__Gen_W['GW'])elif self.fanel_num in self.__Kun_Wai:self.fstgua = 4print(self.__Kun_W['KW']) if self.fanel_num in self.__Qian_Nei:self.scdgua = 0print(self.__Qian_N['QN'])elif self.fanel_num in self.__Dui_Nei:self.scdgua = 0print(self.__Dui_N['DN'])elif self.fanel_num in self.__Li_Nei:self.scdgua = 3print(self.__Li_N['LN'])elif self.fanel_num in self.__Zhen_Nei:self.scdgua = 2print(self.__Zhen_N['ZN'])elif self.fanel_num in self.__Xun_Nei:self.scdgua = 2print(self.__Xun_N['XN'])elif self.fanel_num in self.__Kan_Nei:self.scdgua = 1print(self.__Kan_N['KN'])elif self.fanel_num in self.__Gen_Nei:self.scdgua = 4print(self.__Gen_N['GW'])elif self.fanel_num in self.__Kun_Nei:self.scdgua = 4print(self.__Kun_N['KN'])前一部分為上卦的判斷,下一部分為下卦的判斷,if中間的賦值是五行生克的算法,這個代碼我們后續公開。
最終將會輸出上卦和下卦的組合,形成一個完整的六十四卦。需要完整代碼的小伙伴可以私信我索要,用于研究學習。
下一期我們將公開梅花易數排盤的代碼,關注我不要錯過哦~
總結
以上是生活随笔為你收集整理的在python中实现输出易经六十四卦的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Unity Shader】Specia
- 下一篇: Swift教程-视频拍摄教程