我用Python及其DataFrame等包,设计了一个算卦(共64卦)程序。

DataFrame可以实现特殊排序。借这种排序,能更好地研究二进制视角下的卦象变化。

又根据二进制的对应关系,取相反的卦值。比如,某卦的值,用二进制表示如果是101110,那么,其相反的卦值就是 111111 - 101110 = 010001。计算公式就是:111111 - x。

还可据二进制的值,取出相应的卦。

from random import choice

from pandas import DataFrame

import re

'''作者:王苏谈yy:阴阳 ab: 上下卦'''

def bagua_data():

global bagua

basic_gua_data = {

'卦象': ['☰', '☱', '☲', '☳', '☴', '☵', '☶', '☷'],

'卦名': ['乾', '兑', '离', '震', '巽', '坎', '艮', '坤'],

'阴阳': ['111', '011', '101', '001', '110', '010', '100', '000']

}

bagua = DataFrame(basic_gua_data,

index=['7', '3', '5', '1', '6', '2', '4', '0'])

print(bagua.sort_index(axis=0,ascending=False))

def all_gua_data():

global gua_64

gua_list = [

['乾', '泰', '大壮', '大畜', '大有', '需', '夬', '小畜'],

['否', '坤', '豫', '剥', '晋', '比', '萃', '观'],

['无妄', '复', '震', '颐', '噬嗑', '屯', '随', '益'],

['遁', '谦', '小过', '艮', '旅', '蹇', '咸', '渐'],

['同人', '明夷', '丰', '贲', '离', '既济', '革', '家人'],

['讼', '师', '解', '蒙', '未济', '坎', '困', '涣'],

['履', '临', '归妹', '损', '睽', '节', '兑', '中孚'],

['姤', '升', '恒', '蛊', '鼎', '井', '大过', '巽']

]

gua_64 = DataFrame(gua_list,

index=['7','0','1', '4', '5', '2', '3', '6'],

columns=['7','0','1', '4', '5', '2', '3', '6'])

gua_one = gua_64.sort_index(axis=0 ,ascending = False)

gua_two = gua_one.sort_index(axis=1, ascending = False)

print(gua_two)

def select_gua():

global gua_num

num = [x for x in range(0, 8)]

gua_num = choice(num)

def print_gua():

print('\n您抽中的卦:\n\n',

bagua.loc[str(gua_num)])

def print_gua_ab(x, y):

print('\n上', bagua.loc[x, '卦名'],

'\n下', bagua.loc[y, '卦名'])

def print_gua_compose(x, y):

print(gua_64.loc[y, x], '卦') #reverse

def ab2yy():

global yy

yy = (bagua.loc[gua_a, '阴阳']

+ bagua.loc[gua_b, '阴阳'])

def oppo_yy(x):

global opposite

print('\noriginal:', x)

opposite = str(111111 - int(x)).zfill(6)

print('opposite:', opposite)

def yy2ab(x):

global yy_a, yy_b

yy_6 = re.findall(r'.{3}', str(x))

yy_a = bagua[bagua.阴阳==yy_6[0]].index.tolist()

yy_b = bagua[bagua.阴阳==yy_6[1]].index.tolist()

bagua_data()

all_gua_data()

# 随机选二卦并得出结果

select_gua()

gua_a = str(gua_num)

select_gua()

gua_b = str(gua_num)

print_gua_ab(gua_a, gua_b)

print_gua_compose(gua_a, gua_b)

# 获取二进制上相反卦

ab2yy()

oppo_yy(yy)

yy2ab(opposite)

print_gua_compose(yy_a, yy_b)

# 由二进制六位阴阳值(0或1),得其他信息

yy = input('阴阳:')

yy2ab(yy)

print_gua_ab(yy_a, yy_b)

print_gua_compose(yy_a, yy_b)

oppo_yy(yy)

yy2ab(opposite)

print_gua_compose(yy_a, yy_b)

欢迎相关人士参考不才的代码。

测试的运行过程如下:

Python 3.7.6 (default, Jan 8 2020, 19:59:22)

Type "copyright", "credits" or "license" for more information.

IPython 7.16.1 -- An enhanced Interactive Python.

In [1]: runfile('/home/abc/Desktop/ba_gua.py', wdir='/home/abc/Desktop')

卦象 卦名 阴阳

7 ☰ 乾 111

6 ☴ 巽 110

5 ☲ 离 101

4 ☶ 艮 100

3 ☱ 兑 011

2 ☵ 坎 010

1 ☳ 震 001

0 ☷ 坤 000

7 6 5 4 3 2 1 0

7 乾 小畜 大有 大畜 夬 需 大壮 泰

6 姤 巽 鼎 蛊 大过 井 恒 升

5 同人 家人 离 贲 革 既济 丰 明夷

4 遁 渐 旅 艮 咸 蹇 小过 谦

3 履 中孚 睽 损 兑 节 归妹 临

2 讼 涣 未济 蒙 困 坎 解 师

1 无妄 益 噬嗑 颐 随 屯 震 复

0 否 观 晋 剥 萃 比 豫 坤

上 离

下 离

离 卦

original: 101101

opposite: 010010

2

2 坎 卦

阴阳:101111

上 5 离

Name: 卦名, dtype: object

下 7 乾

Name: 卦名, dtype: object

5

7 大有 卦

original: 101111

opposite: 010000

2

0 比 卦

python110的二进制_Python:100行代码算卦?没错,用的还是二进制!相关推荐

  1. 100行代码搞定实时视频人脸表情识别(附代码)

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达本文转自|OpenCV学堂 好就没有写点OpenCV4 + Open ...

  2. Android鬼点子 100行代码,搞定柱状图!

    最近,项目中遇到一个地方,要用到柱状图.所以这篇文章主要讲怎么搞一个柱子. 100行代码,搞定柱状图! 我的印象中柱子是这样的. 恩,简单,一个View直接放到xml,搞定! 但,设计师给的柱子是这样 ...

  3. SAP系统和微信集成的系列教程之八:100行代码在微信公众号里集成地图搜索功能

    本系列的英文版Jerry写作于2017年,这个教程总共包含十篇文章,发表在SAP社区上. 系列目录 (1) 微信开发环境的搭建 (2) 如何通过微信公众号消费API (3) 微信用户关注公众号之后,自 ...

  4. 100行代码让您学会JavaScript原生的Proxy设计模式

    面向对象设计里的设计模式之Proxy(代理)模式,相信很多朋友已经很熟悉了. 其实和Java一样,JavaScript从语言层面来讲,也提供了对代理这个设计模式的原生支持.我们用一个不到100行代码的 ...

  5. react hooks使用_我如何使用React Hooks在约100行代码中构建异步表单验证库

    react hooks使用 by Austin Malerba 奥斯汀·马勒巴(Austin Malerba) 我如何使用React Hooks在约100行代码中构建异步表单验证库 (How I bu ...

  6. 100行代码实现最简单的基于FFMPEG+SDL的视频播放器

    简介 FFMPEG工程浩大,可以参考的书籍又不是很多,因此很多刚学习FFMPEG的人常常感觉到无从下手.我刚接触FFMPEG的时候也感觉不知从何学起. 因此我把自己做项目过程中实现的一个非常简单的视频 ...

  7. 用python画苹果的logo_简单几步,100行代码用Python画一个蝙蝠侠的logo

    转自:菜鸟学Python 简单几步,100行代码用Python画一个蝙蝠侠的logo-1.jpg (35.33 KB, 下载次数: 0) 2020-7-30 12:04 上传 蝙蝠侠作为DC漫画的核心 ...

  8. WebServer应用示例:不到100行代码玩转Siri语音控制 | ESP32轻松学(Arduino版)

    ESP32轻松学系列文章目录: ESP32 概述与 Arduino 软件准备 蓝牙翻页笔(PPT 控制器) B 站粉丝计数器 Siri 语音识别控制 LED 灯 Siri 语音识别获取传感器数据 本期 ...

  9. 100行代码实现最简单的基于FFMPEG+SDL的视频播放器(SDL1.x)

    ===================================================== 最简单的基于FFmpeg的视频播放器系列文章列表: 100行代码实现最简单的基于FFMPEG ...

最新文章

  1. 初探 Headless Chrome
  2. 路灯智能控制系统_在plc的智能路灯控制系统设计,你必须清楚
  3. ListView的Adapter使用(绑定数据) 之 自定义每一项的布局去绑定数据(二)
  4. 使用window.postMessage实现跨域通信
  5. android 手机号码显示加空格,Android实现输入手机号时自动添加空格
  6. python 下载文件-Python实现批量下载文件
  7. Apache Flink Meetup ·上海站精彩回顾(附PPT下载)
  8. ×××技术详解(二)
  9. python语言单词_python – 在动词/名词/形容词之间转换单词
  10. 2022年道路运输企业安全生产管理人员考题及答案
  11. 海阔天空 在勇敢以后 --我的求职路
  12. Html提交表单的制作
  13. c语言case用多重语句,switch多重选择
  14. 工资条: EmailSender部分
  15. Golang 定时器timer和ticker
  16. windows 驱动开发基础(二)事件通知---关于irp处理,DPC,链表等
  17. Tripleo之nova-compute 和Ironic的代码深入分析(三)
  18. 2000-2020上市公司全要素生产率OLS和固定效应方法含原始数据和Stata代码
  19. 暑假训练---三棱锥内切球公式及海伦公式
  20. dhu复试基础——63 倒序

热门文章

  1. android圆形头像、图片
  2. linux下的日记软件 rednotebook
  3. Python获取《姜子牙》和《哪吒》的票房对比和评价分析
  4. 加油!为自己打气-做好当下,立足长远
  5. 华云数据与应通科技签署战略合作协议 携手开启深化数字化转型新篇章
  6. 搭建直播平台中主播pk,如何实现无缝切换?
  7. 商品秒杀接口压测及优化
  8. 一个经典的嵌入式裸机系统
  9. 【菜鸟教程】Kafka消息队列入门上(安装、集群搭建、基本命令行操作)
  10. 堃博医疗上市首日破发成真,雪湖资本、鼎晖投资等账面亏损1亿元