在python中实现输出易经六十四卦
最近,团队写了一系列关于易经相关的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中实现输出易经六十四卦相关推荐
- python中特殊字符输出
python中特殊字符输出,需要使用转义字符 ""进行转义. 常用特殊字符输出如下: \' 单引号\" 双引号\a 发出系统响铃声\b 退格符\n 换行符\t 横向制表符 ...
- 计算机语言range,python中range输出的方法
python中range输出的方法 发布时间:2020-08-25 11:50:26 来源:亿速云 阅读:148 作者:小新 这篇文章主要介绍python中range输出的方法,文中介绍的非常详细,具 ...
- Python中如何输出换行?
Python中如何输出换行?在Python中,输出换行可以使用的方法有两种,分别是用转义符号或使用print,接下来我们通过这篇文章为大家详细的讲解一下. 方法1:用转义符号 str3 = " ...
- 用python中函数输出杨辉三角_用Python输出一个杨辉三角的例子
这篇文章主要介绍了用Python和erlang输出一个杨辉三角的例子,同时还提供了一个erlang版杨辉三角,需要的朋友可以参考下 关于杨辉三角是什么东西,右转维基百科:杨辉三角 稍微看一下直观一点的 ...
- python中怎么输出中文-python中使用print输出中文的方法
看Python简明教程,学习使用print打印字符串,试了下打印中文,不行. 编辑环境:IDLE 上网搜了下解决办法,各种说法,试了两种: print u"学习" print (u ...
- python 保留两位小数 占位_第17p,Python中格式化输出的3种方式
大家好,我是杨数Tos,这是<从零基础到大神>系列课程的第17篇文章,第二阶段的课程:Python基础知识:格式化输出的3种方式 学习本课程,建议先看一遍:[计算机基础知识]课程. 格式化 ...
- python中字符串输出乱码怎么解决_python字符乱码的解决小结
引言 无论学习什么程序语言,字符串这种数据类型总是着有非常重要.然而最近在学习python这门语言,想要显示中文,总是出现各种乱码.于是在网上查了很多资料,各说纷纭,我也尝试了许多的方法,有时候可以正 ...
- python中格式化输出的作用是什么_python格式化输出是什么意思
我们经常会输出类似'亲爱的xxx你好!你xx月的话费是xx,余额是xx'之类的字符串',而xxx的内容都是根据变量变化的,所以,需要一种简便的格式化字符串的方式.格式化输出就可以帮助你实现这个功能. ...
- python中格式化输出是什么意思_python中的格式化输出用法总结
本文实例总结了python中的格式化输出用法.分享给大家供大家参考,具体如下: Python一共有两种格式化输出语法. 一种是类似于C语言printf的方式,称为 Formatting Express ...
最新文章
- 对联广告,带关闭,可以移动
- Java自带的广告怎么删掉_如何屏蔽电脑上的弹窗广告?
- PHP文件上传【前后台编码】
- 黑马程序员——iOS学习——启动App界面黑屏
- 数据有序_Redis实战(3)-数据结构List实战一之商品信息的有序存储
- c++ 解析xml文件
- Android驱动(1)---Ubuntu中为Android系统上编写Linux内核驱动程序实现方法
- ROS学习笔记2(ROS文件系统和ROS常用命令)
- SELECTORS模块实现并发简单版FTP
- fcpx教程从入门到精通「4」检查器窗口的认识
- [Bootstrap]7天深入Bootstrap(1)入门准备
- 拿了工资就要干活,不干活不是成了骗钱?
- java后台对接app微信支付
- ASP(Answer Set Programming)编程入门
- 拼多多搜索API接口(关键词查询优惠券列表接口)
- sql判断邮箱是否合法_用正则表达式验证邮箱与手机号的合法性
- 搭建网站基本步骤(搭建一个网站的步骤)
- lua在线手册 lua在线lua学习教程 lua参考手册中文翻译
- 阿里云盘 网页版地址 阿里云盘pc版 阿里云盘下载
- python 实现模拟鼠标点击器 可运行 附源码