首先声明 坚信科学杜绝迷信!!
先看下运行效果 :
不得不说真的准
八卦图
列表格
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
最后说一句相信科学,杜绝封建迷信!!!