python110的二进制_Python:100行代码算卦?没错,用的还是二进制!
我用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行代码算卦?没错,用的还是二进制!相关推荐
- 100行代码搞定实时视频人脸表情识别(附代码)
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达本文转自|OpenCV学堂 好就没有写点OpenCV4 + Open ...
- Android鬼点子 100行代码,搞定柱状图!
最近,项目中遇到一个地方,要用到柱状图.所以这篇文章主要讲怎么搞一个柱子. 100行代码,搞定柱状图! 我的印象中柱子是这样的. 恩,简单,一个View直接放到xml,搞定! 但,设计师给的柱子是这样 ...
- SAP系统和微信集成的系列教程之八:100行代码在微信公众号里集成地图搜索功能
本系列的英文版Jerry写作于2017年,这个教程总共包含十篇文章,发表在SAP社区上. 系列目录 (1) 微信开发环境的搭建 (2) 如何通过微信公众号消费API (3) 微信用户关注公众号之后,自 ...
- 100行代码让您学会JavaScript原生的Proxy设计模式
面向对象设计里的设计模式之Proxy(代理)模式,相信很多朋友已经很熟悉了. 其实和Java一样,JavaScript从语言层面来讲,也提供了对代理这个设计模式的原生支持.我们用一个不到100行代码的 ...
- react hooks使用_我如何使用React Hooks在约100行代码中构建异步表单验证库
react hooks使用 by Austin Malerba 奥斯汀·马勒巴(Austin Malerba) 我如何使用React Hooks在约100行代码中构建异步表单验证库 (How I bu ...
- 100行代码实现最简单的基于FFMPEG+SDL的视频播放器
简介 FFMPEG工程浩大,可以参考的书籍又不是很多,因此很多刚学习FFMPEG的人常常感觉到无从下手.我刚接触FFMPEG的时候也感觉不知从何学起. 因此我把自己做项目过程中实现的一个非常简单的视频 ...
- 用python画苹果的logo_简单几步,100行代码用Python画一个蝙蝠侠的logo
转自:菜鸟学Python 简单几步,100行代码用Python画一个蝙蝠侠的logo-1.jpg (35.33 KB, 下载次数: 0) 2020-7-30 12:04 上传 蝙蝠侠作为DC漫画的核心 ...
- WebServer应用示例:不到100行代码玩转Siri语音控制 | ESP32轻松学(Arduino版)
ESP32轻松学系列文章目录: ESP32 概述与 Arduino 软件准备 蓝牙翻页笔(PPT 控制器) B 站粉丝计数器 Siri 语音识别控制 LED 灯 Siri 语音识别获取传感器数据 本期 ...
- 100行代码实现最简单的基于FFMPEG+SDL的视频播放器(SDL1.x)
===================================================== 最简单的基于FFmpeg的视频播放器系列文章列表: 100行代码实现最简单的基于FFMPEG ...
最新文章
- 初探 Headless Chrome
- 路灯智能控制系统_在plc的智能路灯控制系统设计,你必须清楚
- ListView的Adapter使用(绑定数据) 之 自定义每一项的布局去绑定数据(二)
- 使用window.postMessage实现跨域通信
- android 手机号码显示加空格,Android实现输入手机号时自动添加空格
- python 下载文件-Python实现批量下载文件
- Apache Flink Meetup ·上海站精彩回顾(附PPT下载)
- ×××技术详解(二)
- python语言单词_python – 在动词/名词/形容词之间转换单词
- 2022年道路运输企业安全生产管理人员考题及答案
- 海阔天空 在勇敢以后 --我的求职路
- Html提交表单的制作
- c语言case用多重语句,switch多重选择
- 工资条: EmailSender部分
- Golang 定时器timer和ticker
- windows 驱动开发基础(二)事件通知---关于irp处理,DPC,链表等
- Tripleo之nova-compute 和Ironic的代码深入分析(三)
- 2000-2020上市公司全要素生产率OLS和固定效应方法含原始数据和Stata代码
- 暑假训练---三棱锥内切球公式及海伦公式
- dhu复试基础——63 倒序