最近,团队写了一系列关于易经相关的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中实现输出易经六十四卦相关推荐

  1. python中特殊字符输出

    python中特殊字符输出,需要使用转义字符 ""进行转义. 常用特殊字符输出如下: \' 单引号\" 双引号\a 发出系统响铃声\b 退格符\n 换行符\t 横向制表符 ...

  2. 计算机语言range,python中range输出的方法

    python中range输出的方法 发布时间:2020-08-25 11:50:26 来源:亿速云 阅读:148 作者:小新 这篇文章主要介绍python中range输出的方法,文中介绍的非常详细,具 ...

  3. Python中如何输出换行?

    Python中如何输出换行?在Python中,输出换行可以使用的方法有两种,分别是用转义符号或使用print,接下来我们通过这篇文章为大家详细的讲解一下. 方法1:用转义符号 str3 = " ...

  4. 用python中函数输出杨辉三角_用Python输出一个杨辉三角的例子

    这篇文章主要介绍了用Python和erlang输出一个杨辉三角的例子,同时还提供了一个erlang版杨辉三角,需要的朋友可以参考下 关于杨辉三角是什么东西,右转维基百科:杨辉三角 稍微看一下直观一点的 ...

  5. python中怎么输出中文-python中使用print输出中文的方法

    看Python简明教程,学习使用print打印字符串,试了下打印中文,不行. 编辑环境:IDLE 上网搜了下解决办法,各种说法,试了两种: print u"学习" print (u ...

  6. python 保留两位小数 占位_第17p,Python中格式化输出的3种方式

    大家好,我是杨数Tos,这是<从零基础到大神>系列课程的第17篇文章,第二阶段的课程:Python基础知识:格式化输出的3种方式 学习本课程,建议先看一遍:[计算机基础知识]课程. 格式化 ...

  7. python中字符串输出乱码怎么解决_python字符乱码的解决小结

    引言 无论学习什么程序语言,字符串这种数据类型总是着有非常重要.然而最近在学习python这门语言,想要显示中文,总是出现各种乱码.于是在网上查了很多资料,各说纷纭,我也尝试了许多的方法,有时候可以正 ...

  8. python中格式化输出的作用是什么_python格式化输出是什么意思

    我们经常会输出类似'亲爱的xxx你好!你xx月的话费是xx,余额是xx'之类的字符串',而xxx的内容都是根据变量变化的,所以,需要一种简便的格式化字符串的方式.格式化输出就可以帮助你实现这个功能. ...

  9. python中格式化输出是什么意思_python中的格式化输出用法总结

    本文实例总结了python中的格式化输出用法.分享给大家供大家参考,具体如下: Python一共有两种格式化输出语法. 一种是类似于C语言printf的方式,称为 Formatting Express ...

最新文章

  1. 对联广告,带关闭,可以移动
  2. Java自带的广告怎么删掉_如何屏蔽电脑上的弹窗广告?
  3. PHP文件上传【前后台编码】
  4. 黑马程序员——iOS学习——启动App界面黑屏
  5. 数据有序_Redis实战(3)-数据结构List实战一之商品信息的有序存储
  6. c++ 解析xml文件
  7. Android驱动(1)---Ubuntu中为Android系统上编写Linux内核驱动程序实现方法
  8. ROS学习笔记2(ROS文件系统和ROS常用命令)
  9. SELECTORS模块实现并发简单版FTP
  10. fcpx教程从入门到精通「4」检查器窗口的认识
  11. [Bootstrap]7天深入Bootstrap(1)入门准备
  12. 拿了工资就要干活,不干活不是成了骗钱?
  13. java后台对接app微信支付
  14. ASP(Answer Set Programming)编程入门
  15. 拼多多搜索API接口(关键词查询优惠券列表接口)
  16. sql判断邮箱是否合法_用正则表达式验证邮箱与手机号的合法性
  17. 搭建网站基本步骤(搭建一个网站的步骤)
  18. lua在线手册 lua在线lua学习教程 lua参考手册中文翻译
  19. 阿里云盘 网页版地址 阿里云盘pc版 阿里云盘下载
  20. python 实现模拟鼠标点击器 可运行 附源码

热门文章

  1. 蓝桥杯:解救小哈最短路径
  2. android svg路径动画,五、Android SVG动画
  3. react钩子_使用Web动画API和React钩子创建高性能动画
  4. 7.17正则表达式与re模块
  5. 贴纸UI效果如何制作,4个做贴纸效果的小技巧
  6. Zope/Plone内容管理系统的探讨与应用
  7. 工业互联网+化工园区一体化智慧管理解决方案
  8. 金融交易报文ISO8583协议
  9. 展会中,你做得够好么?
  10. pool(三)——Timer