python梅花易数,python算卦

2024-02-28

python梅花易数,python算卦,梅花易数的三数起卦

前言:本来想搜来直接复制的,结果看目前找到的都有些问题,特意去看了梅花易数的视频,写了个。想法被拿捏的死死的,不如相信算卦

python 复制代码
# 数字对应的卦名
num_gua_map = {1: '乾', 2: '兑', 3: '离', 4: '震', 5: '巽', 6: '坎', 7: '艮', 0: '坤'}
# 卦名对应的图案
gua_pic_map = {'乾': '☰', '兑': '☱', '离': '☲', '震': '☳', '巽': '☴', '坎': '☵', '艮': '☶', '坤': '☷'}
# ('乾☰', '兑☱', '离☲', '震☳', '巽☴', '坎☵', '艮☶', '坤☷')
gua_yao_map = {
    '乾': (1, 1, 1),  # 1
    '兑': (0, 1, 1),  # 2
    '离': (1, 0, 1),  # 3
    '震': (0, 0, 1),  # 4
    '巽': (1, 1, 0),  # 5
    '坎': (0, 1, 0),  # 6
    '艮': (1, 0, 0),  # 7
    '坤': (0, 0, 0),  # 8
}


# 根据字典的值获取键名
def get_key_name(dictionary, value):
    for key in dictionary.keys():
        if dictionary[key] == value:
            return key
    return None


# 动爻过程, 生成变卦, 如[震,坎]
def dong_yao(yao06, dd1):
    yao6 = list(yao06)   # 6行的爻
    if dd1 == 0:  # 传参是0-5
        dd1 = 6
    # 动爻是从下面开始数的
    yao6[-dd1] = 0 if yao6[-dd1] == 1 else 1   # 变化那一行
    bian_shang = yao6[0:3]  # 前3行
    bian_xia = yao6[3:6]  # 后3行
    bian_shang = get_key_name(gua_yao_map, tuple(bian_shang))
    bian_xia = get_key_name(gua_yao_map, tuple(bian_xia))
    return bian_shang, bian_xia


# ==================================================================
a1 = 301548
a2 = 295785
a3 = 20240229
# ==================================================================
aa1 = a1 % 8
aa2 = a2 % 8
aa3 = a3 % 6
print('---三个数字', a1, a2, a3)
print('---取余后', aa1, aa2, aa3)
gua1 = num_gua_map[aa1]   # 如: 乾
gua2 = num_gua_map[aa2]   # 如: 坤
pic1 = gua_pic_map[gua1]  # 如: ☳
pic2 = gua_pic_map[gua2]  # 如: ☴
print('---【本卦】 %s%s  %s%s' % (gua1, gua2, pic1, pic2))
shang_xia_6 = gua_yao_map[num_gua_map[aa1]] + gua_yao_map[num_gua_map[aa2]]   # 生成6行的爻
print('---六行爻', shang_xia_6)  # 如: (0, 0, 1, 1, 1, 0)
bian1, bian2 = dong_yao(shang_xia_6, aa3)    # 动爻过程, 生成变卦, 如[震,坎]
bian_pic1 = gua_pic_map[bian1]  # ☳
bian_pic2 = gua_pic_map[bian2]  # ☵
print('---【变卦】 %s%s  %s%s' % (bian1, bian2, bian_pic1, bian_pic2))

输出返回如:

---三个数字 301548 295785 20240229

---处理后 4 1 3

---【本卦】 震乾 ☳☰

---六行爻 (0, 0, 1, 1, 1, 1)

---【变卦】 震兑 ☳☱

相关推荐
JJJJ_iii39 分钟前
【机器学习01】监督学习、无监督学习、线性回归、代价函数
人工智能·笔记·python·学习·机器学习·jupyter·线性回归
Python图像识别4 小时前
71_基于深度学习的布料瑕疵检测识别系统(yolo11、yolov8、yolov5+UI界面+Python项目源码+模型+标注好的数据集)
python·深度学习·yolo
千码君20165 小时前
React Native:从react的解构看编程众多语言中的解构
java·javascript·python·react native·react.js·解包·解构
淮北4945 小时前
windows安装minicoda
windows·python·conda
爱喝白开水a7 小时前
LangChain 基础系列之 Prompt 工程详解:从设计原理到实战模板_langchain prompt
开发语言·数据库·人工智能·python·langchain·prompt·知识图谱
默默coding的程序猿8 小时前
3.git的分支携带问题是什么?怎么解决?
java·git·python·svn·gitee·github·intellij-idea
新子y10 小时前
【小白笔记】PyTorch 和 Python 基础的这些问题
pytorch·笔记·python
我是李武涯10 小时前
PyTorch DataLoader 高级用法
人工智能·pytorch·python
Lynnxiaowen10 小时前
今天我们开始学习python语句和模块
linux·运维·开发语言·python·学习
ThreeAu.10 小时前
pytest 实战:用例管理、插件技巧、断言详解
python·单元测试·pytest·测试开发工程师