1.项目说明

银钱法是比较简便,效率也高的一种方法。

那我试着用python写点代码,模拟这个占卜的过程。

1.1银钱演算法介绍

银钱演算法的流程是这样的:

1.准备3枚硬币(一面为字,一面为花),并抛出。

2.观察硬币的向上面,并记录向上面为花的数量。

3.重复步骤1,2;共六次。

4.将做的记录转化为本卦和变卦。

5.对照易经卦辞作解。

转化的依据:

花的数量有0,1,2,3四种可能,分别对应少阴少阳老阴老阳四种情况。

当为老阴或老阳时,则称之为变爻。

2.代码部分

import random

import time

import pandas as pd

#银钱演算法  外汇名词解释http://www.fx61.com/definitions

def YQYSF():

a = random.randint(0,1)

b = random.randint(0,1)

c = random.randint(0,1)

global sum1

sum1 = a + b + c

return a,b,c

#本卦

def BenG(li):

yang = '________'

yin = '___ ___'

global xu1

xu1=[]

for _ in li:

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)

#变卦

def BianG(li):

yang = '________'

yin = '___ ___'

global xu2

xu2=[]

for _ in li:

if _ == 0 or _ == 3:

print(yin)

xu2.append(1)

else:

print(yang)

xu2.append(0)

#卦辞,文件是我自己收集的

def GuaCi(li):

guaci=pd.read_excel(r'E:\guaci.xlsx')

summ = ZH(li)

print(guaci[['卦名','卦相','卦解']][guaci['二进制序'] == summ])

1

2

3

4

5

#将银钱演算法占出的卦转化为二进制序

def ZH(li):

n = 0

summ = 0

for _ in li:

summ += _ * 2 ** n

n += 1

return summ

#主函数

def main():

input('您要占卜的问惑:')

print('请稍候,系统正在为您演算。')

sum11=[]

for i in range(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()

用python算卦——银钱演算法相关推荐

  1. Python 算例实现Levenberg-Marquardt算法

    第一次写技术博文,有错误的地方欢迎指点.     本博文是通过一个算例对LM算法的学习进行总结,编程语言是python.     理论就不讲了,网上一大堆.     拟合函数 y(x) = exp(a ...

  2. python算法攻略_算法基础及python实现笔记一(堆和DFS)

    排序及搜索 讲到排序搜索首先要认识 Python 的基本数据存储结构. NumPy and Pandas 包都提供一些容器可以利用. 堆 (stack) 先进后出原则.比如,一个吃货吃东西,一直吃一直 ...

  3. iching: 一个用来算卦的Python包

    为什么80%的码农都做不了架构师?>>>    使用python第三方包iching 进行蓍草卜卦.大衍之数五十,存一不用,构造天地人三者,历经三变,得到四的倍数即为一爻,算六爻要一 ...

  4. python算法书pdf_Python算法很难吗?python神书《算法图解》PDF电子版分享给你!

    许多小伙伴后台私信柠檬说,python算法让自己很头疼,有没有可以让算法像小说一样有趣的书籍资料呢?看这里吧!柠檬为大家找到了这本<算法图解>的PDF电子版!让你在学习python的路上变 ...

  5. DTW(动态时间归整)算法与DTW,fastDTW的python算例

    文章目录 DTW算法思路 DTW算例 原生代码计算 dtaidistance库计算DTW fastDTW算例 参考资料 DTW算法思路 论文地址:https://irit.fr/~Julien.Pin ...

  6. python写算法求最短路径,Python实现迪杰斯特拉算法并生成最短路径的示例代码

    def Dijkstra(network,s,d):#迪杰斯特拉算法算s-d的最短路径,并返回该路径和代价 print("Start Dijstra Path--") path=[ ...

  7. Python数模笔记-模拟退火算法(4)旅行商问题

    1.旅行商问题(Travelling salesman problem, TSP) 旅行商问题是经典的组合优化问题,要求找到遍历所有城市且每个城市只访问一次的最短旅行路线,即对给定的正权完全图求其总权 ...

  8. 机器学习经典算法具体解释及Python实现--K近邻(KNN)算法

    (一)KNN依旧是一种监督学习算法 KNN(K Nearest Neighbors,K近邻 )算法是机器学习全部算法中理论最简单.最好理解的.KNN是一种基于实例的学习,通过计算新数据与训练数据特征值 ...

  9. 《Python机器学习——预测分析核心算法》——2.4 基于因素变量的实数值预测:鲍鱼的年龄...

    本节书摘来异步社区<Python机器学习--预测分析核心算法>一书中的第2章,第2.4节,作者:[美]Michael Bowles(鲍尔斯),更多章节内容可以访问云栖社区"异步社 ...

最新文章

  1. 【Data】数据结构之C++程序设计(1)
  2. Error in hist.default(data) : ‘x‘ must be numeric
  3. 七牛访谈|秒拍&小咖秀CTO汤力嘉:产品的生存系于技术
  4. 《那些年啊,那些事——一个程序员的奋斗史》——72
  5. 利用代码生成right scope数据
  6. Spring 入门学习二之IOC
  7. 为Twitter4j创建自定义SpringBoot Starter
  8. [html] 如何让table的边框双线变单线?
  9. 大蜘蛛序列号_Datacolor SpyderX 蓝蜘蛛 (红蜘蛛)校色仪 使用教程
  10. iOS Mac Charels 抓包
  11. python 类方法 静态方法_Python静态方法和类方法
  12. Scrapy 教程(九)-日志系统
  13. HDU2029 Palindromes _easy version【入门】
  14. 操作系统--文件管理
  15. redis jar包_「建议收藏」手把手教你从零搭建一个redis服务
  16. keil5的基本使用
  17. mysql 联合主键_mysql 联合主键和复合主键的区别
  18. 如何在谷歌地图(google maps)中获取经纬度
  19. 关于学习的过程:痛并快乐着是一种收获
  20. 蒟蒻朱的 CSP2020 J/S 游记

热门文章

  1. 帝国理工计算机专业难申吗,帝国理工最难申请的十大专业,A-Level成绩要求是多少?...
  2. 黑盒测试和白盒测试技术总结
  3. MUD游戏编程 接收数据
  4. 80c51定时1秒汇编语言,80C51汇编语言.ppt
  5. Linux 中 ss 命令的使用实例
  6. 2021年西式面点师(中级)试题及解析及西式面点师(中级)模拟考试题库
  7. CF #505 B Weakened Common Divisor
  8. Vue指令(续)、小黑记事本案例
  9. 二八定律和倒二八定律
  10. 人人都能用的10条网站易用性技巧