Python实现八字十神的输出

八字中有十神,十神的确定是以日主为基础,生日主的为正偏印,可日主的为正偏官,日主克的为正偏财,日主生的为食伤,和日主相同的为比劫。

代码思路:
用字典将相同五行的天干地支分类,然后再用相减的方法确定生克关系。

代码如下:
先分类:

__TGDZ_Num = {
    
    
    "甲": 1, "乙": 2, "丙": 3, "丁": 4, "戊": 5, "己": 6, "庚": 7, "辛": 8, "壬": 9, "癸": 10,
    "子": 1, "丑": 2, "寅": 3, "卯": 4, "辰": 5, "巳": 6, "午": 7, "未": 8, "申": 9, "酉": 10, "戌": 11, "亥": 12
}
__TGDZ = {
    
    "甲":1,"乙":1,"丙":2,"丁":2,"戊":3,"己":3,"庚":4,"辛":4,"壬":0,"癸":0,"子":0,"丑":3,"寅":1,"卯":1,"辰":3,"巳":2,"午":2,"未":3,"申":4,"酉":4,"戌":3,"亥":0    }

然后进行减法:

self.fivegods = self.__TGDZ[item] - self.__TGDZ[self.dayself]
        if self.fivegods < 0:
            self.fivegods = self.fivegods + 5

其中item是天干地支,dayself是日主。

__Tengods = [("比肩","劫财"),("食神","伤官"),("偏财","正财"),("偏官","正官"),("偏印","正印")]
        if self.__TGDZ_Num[self.dayself] % 2 == self.__TGDZ_Num[item] % 2:
            self.zhengpian = 0
        else:
            self.zhengpian = 1

        self.teng = self.__Tengods[self.fivegods][self.zhengpian]

这时候十神就可以确定了。如需要完整代码,可关注公众号:喵星君大大获取。

猜你喜欢

转载自blog.csdn.net/miaoxingjundada/article/details/108087817