用python结合易经解甫算卦(最准算法)

首先声明 坚信科学杜绝迷信!!

先看下运行效果 :

不得不说真的准

八卦图

列表格

1

2

3

4

5

6

7

8

卦象的算法

1.姓氏笔画除于8 得余数对应卦象

如:顾 10画 余数为2 对应“兑”和“泽”

2.名字笔画之和,除于8 得余数对应卦象

如:某 9画 余数为1 对应 “乾”和“天”

注意若整除 取8 就是坤卦

代码部分:

1.找个查笔画的接口 把名字传进去返回笔画数

import requests
from lxml import etree
ur='https://hanyu.baidu.com/zici/s?from=aladdin&query=&srcid=51368&wd='
x,m=input('输入姓名空格隔开:').split(' ')
def h(m):
    kl=0
    for li in m:    #考虑了复姓和名字单字
        url = ur + li
        gu = requests.get(url)
        gus = etree.HTML(gu.text)
        gum = gus.xpath('//*[@id="stroke_count"]/span/text()')[0]
        kl+=int(gum)
        gu.close()
    return kl
x1=h(x) #姓
m1=h(m) #名
print(x1,m1)

2把卦象写入字典

s={
    0:"坤",
    1:"乾",
    2:"兑",
    3:"离",
    4:"震",
    5:"巽",
    6:"坎",
    7:"艮",
}
k={
    0:"地",
    1:"天",
    2:"泽",
    3:"火",
    4:"雷",
    5:"风",
    6:"水",
    7:"山",
}
z = {
    10: "否  中卦",
    11: "乾  上上卦",
    12: "履  中上卦",
    13: "同人  中上卦",
    14: "无妄  下下卦",
    15: "姤  中上卦",
    16: "讼  中下卦",
    17: "遁  下下卦",

    22: "兑  上上卦",
    21: "夬  上上卦",
    23: "革  上上卦",
    24: "随  中卦",
    25: "大过  中下卦",
    26: "困  中上卦",
    27: "咸  中上卦",
    20: "萃  中上卦",

    30: "晋  中上卦",
    33: "离  中上卦",
    31: "大有  上上卦",
    32: "睽  下下卦",
    34: "噬嗑  上上卦",
    35: "鼎  中下卦",
    36: "未济  中下卦",
    37: "旅  下下卦",

    40: "豫  中卦",
    41: "大壮  中上卦",
    42: "归妹  下下卦",
    43: "丰  上上卦",
    44: "震  中上卦",
    45: "恒  中上卦",
    46: "解  中上卦",
    47: "小过  中上卦",

    50: "观  中上卦",
    51: "小畜  下下卦",
    52: "中孚  下下卦",
    53: "家人  下下卦",
    54: "益  上上卦",
    55: "巽  中上卦",
    56: "涣  下下卦",
    57: "渐  上上卦",

    60: "比  上上卦",
    61: "需  中上卦",
    62: "节  上上卦",
    63: "既济  中上卦",
    64: "屯  下下卦",
    65: "井  上上卦",
    66: "坎  下下卦",
    67: "蹇  下下卦",

    70: "剥  中下卦",
    71: "大畜  中上卦",
    72: "损  下下卦",
    73: "贲  中上卦",
    74: "颐  上上卦",
    75: "蛊  中卦",
    76: "蒙  中下卦",
    77: "艮  中下卦",

    7: "谦  中卦",
    1: "泰  中卦",
    2: "临  中上卦",
    3: "明夷  中下卦",
    4: "复  中卦",
    5: "升  上上卦",
    6: "师  中上卦",
    0: "坤  上上卦",
}

完整代码:

import requests
from lxml import etree
s={
    0:"坤",
    1:"乾",
    2:"兑",
    3:"离",
    4:"震",
    5:"巽",
    6:"坎",
    7:"艮",
}
k={
    0:"地",
    1:"天",
    2:"泽",
    3:"火",
    4:"雷",
    5:"风",
    6:"水",
    7:"山",
}

z = {
    10: "否  中卦",
    11: "乾  上上卦",
    12: "履  中上卦",
    13: "同人  中上卦",
    14: "无妄  下下卦",
    15: "姤  中上卦",
    16: "讼  中下卦",
    17: "遁  下下卦",

    22: "兑  上上卦",
    21: "夬  上上卦",
    23: "革  上上卦",
    24: "随  中卦",
    25: "大过  中下卦",
    26: "困  中上卦",
    27: "咸  中上卦",
    20: "萃  中上卦",

    30: "晋  中上卦",
    33: "离  中上卦",
    31: "大有  上上卦",
    32: "睽  下下卦",
    34: "噬嗑  上上卦",
    35: "鼎  中下卦",
    36: "未济  中下卦",
    37: "旅  下下卦",

    40: "豫  中卦",
    41: "大壮  中上卦",
    42: "归妹  下下卦",
    43: "丰  上上卦",
    44: "震  中上卦",
    45: "恒  中上卦",
    46: "解  中上卦",
    47: "小过  中上卦",

    50: "观  中上卦",
    51: "小畜  下下卦",
    52: "中孚  下下卦",
    53: "家人  下下卦",
    54: "益  上上卦",
    55: "巽  中上卦",
    56: "涣  下下卦",
    57: "渐  上上卦",

    60: "比  上上卦",
    61: "需  中上卦",
    62: "节  上上卦",
    63: "既济  中上卦",
    64: "屯  下下卦",
    65: "井  上上卦",
    66: "坎  下下卦",
    67: "蹇  下下卦",

    70: "剥  中下卦",
    71: "大畜  中上卦",
    72: "损  下下卦",
    73: "贲  中上卦",
    74: "颐  上上卦",
    75: "蛊  中卦",
    76: "蒙  中下卦",
    77: "艮  中下卦",

    7: "谦  中卦",
    1: "泰  中卦",
    2: "临  中上卦",
    3: "明夷  中下卦",
    4: "复  中卦",
    5: "升  上上卦",
    6: "师  中上卦",
    0: "坤  上上卦",

}
ur='https://hanyu.baidu.com/zici/s?from=aladdin&query=&srcid=51368&wd='
x,m=input('输入姓名空格隔开:').split(' ')
def h(m):
    kl=0
    for li in m:
        # print(li)
        url = ur + li
        gu = requests.get(url)
        gus = etree.HTML(gu.text)
        gum = gus.xpath('//*[@id="stroke_count"]/span/text()')[0]
        kl+=int(gum)
        gu.close()
    return kl
x1=h(x)%8 #姓
m1=h(m)%8 #名
xiao=m1*10+x1
da=x1*10+m1
print('乾兑离震巽坎艮坤')
print('天泽火雷风水山地')
print('姓是《'+s[x1]+'》卦',"对应:"+k[x1])
print('名是《'+s[m1]+'》卦',"对应:"+k[m1])
print('幼年卦象为:',z[xiao])
print('成年卦象为:',z[da])

封装成exe

Pyinstaller -Fc -i gua.ico 算卦.py -n 卦象

百度网盘链接:

https://pan.baidu.com/s/1Fx5ez8_hdTVfvmfy_b26Fw?pwd=w4u1

提取码:w4u1

最后说一句相信科学,杜绝封建迷信!!!

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
遗传算法是一种基于生物进化原理的搜索算法,它可以用于决函数优化问题。Python是一种强大的编程语言,具有丰富的科学计算库,因此可以很方便地实现遗传算法求函数的最优。 首先,我们需要定义适应度函数,该函数用于评估每个个体在问题域中的适应度。适应度函数可以根据具体的问题进行设计,常见的选择包括均方误差、目标函数值等。 然后,我们需要初始化种群,将种群中的个体表示成染色体的形式。对于函数优化问题,染色体可以表示为一串代表函数自变量取值的基因序列。 接下来,通过选择、交叉和变异等操作来进行种群的演化。选择操作根据个体的适应度进行选择,适应度高的个体被选中参与繁殖。交叉操作通过基因的交换形成新的个体。变异操作对个体的基因进行随机的变异,以增加种群的多样性。 在每一代演化中,我们根据适应度函数对种群进行评估,并选择适应度高的个体进行繁殖。繁殖过程中,通过交叉和变异操作生成新的个体替代旧的个体。这一过程持续进行,直到满足停止条件(如达到最大代数或达到足够接近最优)。 最后,从最终的种群中选取适应度最高的个体作为函数的最优。通过码个体的基因序列,我们可以得到函数自变量的取值,从而得到函数的最优。 在Python中,我们可以使用numpy等科学计算库来进行矩阵操作和随机数生成,使用matplotlib等库进行结果的可视化。同时,Python还提供了多线程和分布式计算等方法,可以加速遗传算法的求过程。 总之,Python 的强大功能和丰富的科学计算库使得我们能够方便地实现遗传算法求函数的最优

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值