首页 > 用python算卦——银钱演算法_python_算法

用python算卦——银钱演算法_python_算法

网络收集 2021-04-11 20:10:53

用python算卦——银钱演算法1.项目说明1.1银钱演算法介绍2.代码部分2.1运行效果小结 1.项目说明

本学期有一门课呢,叫做周易与决策咨询。 那因为疫情,上的是网课。 有个视频我看了以后对周易的这种占卜之术还挺感兴趣的。 视频里的刘大师呢,用了蓍草法,银钱法。 银钱法是比较简便,效率也高的一种方法。 那我试着用python写点代码,模拟这个占卜的过程。

1.1银钱演算法介绍

银钱演算法的流程是这样的: 1.准备3枚硬币(一面为字,一面为花),并抛出。 2.观察硬币的向上面,并记录向上面为花的数量。 3.重复步骤1,2;共六次。 4.将做的记录转化为本卦和变卦。 5.对照易经卦辞作解。

转化的依据: 花的数量有0,1,2,3四种可能,分别对应少阴少阳老阴老阳四种情况。 当为老阴或老阳时,则称之为变爻。

2.代码部分 importrandom importtime importpandasaspd #银钱演算法 defYQYSF(): a=random.randint(0,1) b=random.randint(0,1) c=random.randint(0,1) globalsum1 sum1=a+b+c returna,b,c #本卦 defBenG(li): yang='________' yin='______' globalxu1 xu1=[] for_inli: if_==0: print(yin) xu1.append(1) elif_==1: print(yang) xu1.append(0) elif_==2: print(yin+'*') xu1.append(1) elif_==3: print(yang+'*') xu1.append(0) #变卦 defBianG(li): yang='________' yin='______' globalxu2 xu2=[] for_inli: if_==0or_==3: print(yin) xu2.append(1) else: print(yang) xu2.append(0) #卦辞,文件是我自己收集的 defGuaCi(li): guaci=pd.read_excel(r'E:\guaci.xlsx') summ=ZH(li) print(guaci[['卦名','卦相','卦解']][guaci['二进制序']==summ]) #将银钱演算法占出的卦转化为二进制序 defZH(li): n=0 summ=0 for_inli: summ+=_*2**n n+=1 returnsumm #主函数 defmain(): input('您要占卜的问惑:') print('请稍候,系统正在为您演算。') sum11=[] foriinrange(1,7): time.sleep(3) print('第'+str(i)+'次的银钱演算结果是') print(YQYSF()) sum11.append(sum1) sum11.reverse() print('本卦是:') time.sleep(3) BenG(sum11) print('变卦是:') time.sleep(3) BianG(sum11) print('您本次的问卦结果是:') time.sleep(3) print('本卦:') GuaCi(xu1) print('变卦:') GuaCi(xu2) print('仅供参考') if__name__=='__main__': main() 2.1运行效果

小结

源代码和卦辞文件已上传

作者:呼呼大睡哥 标签: python 算法 用python

python123 题目(辨别性别)

python封装的异常值处理函数(包括箱线图去除异常值等)

免责声明:非本网注明原创的信息,皆为程序自动获取互联网,目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责;如此页面有侵犯到您的权益,请给站长发送邮件,并提供相关证明(版权证明、身份证正反面、侵权链接),站长将在收到邮件12小时内删除。

一周热门

查看更多