我是大海的叹息,是天空的泪水,是田野的微笑。这同爱情何其酷肖:它是感情大海的叹息,是思想天空的泪水,是心灵田野的微笑。

文章目录

  • 前言
  • 一、小六壬的算法
  • 二、程序写法
  • 总结
  • 理论参考

前言

我国传统文化源远流长,孕育出了众多奇门术法。在小说和各种影视作品中,我们经常看到有高人掐指一算,沉思片刻,就悟得天机的情节,这里高人所使用的术法,就是小六壬。小六壬易学不易成,起课需天机,悟道需德行。本文用小学生人均在学的Python实现一个简易版小六壬吉时测算程序,简单易懂。

提示:本文仅为计算机研究,并不建议在日常生活中使用下述方法测算。功行不够,强行起课,违背天时,难有良果。


一、小六壬的算法

小六壬功法需谨记:不急不占,无事不占,不动不占。本法可测万象事物,测算吉时需准确的年,月,日,时,即可算出结果。入卦方法为按阴历算,用左拇指在六个掌诀位上按顺时针方向依次掐算即知结果。其法以大安起正月,月上起日,日上起时。共分为大安,留连,速喜,赤口,小吉,空亡。

大安,平安,求财得,失物返,疾病安。

留连,难成,诉讼缓,速寻物,防口角。

速喜,有喜,失物得,疾病愈,远行安。

赤口,口角,防诉状,远行惊,遭诅咒。

小吉,吉祥,人报喜,出走归,凡事美。

空亡,大凶,遇灾祸,远行难,病益重。

在使用时,月份,日期,时辰需要相互配合,运气也与八字有关,如八字中今年有不利,可以用小六壬来预测事情发生的时间,来进行预防。

在使用时,日期,时辰相互配合最重要。先找出日子的六壬,再看时辰的六壬,下面是规律:

大安日

(1),大安加留连,办事不周全,失物西北去,婚姻晚几天。

(2),大安加速喜,事事自己起,失物当日见,婚姻自己提。

(3),大安加赤口,办事不顺手,失物不用找,婚姻两分手。

(4),大安加小吉,事事从己及,失物不出门,婚姻成就地。

(5),大安加空亡,病人要上床,失物无踪影,事事不顺情。

留连日

(1),留连加大安,办事两分张,婚姻有喜事,先苦后来甜。

(2),留连加速喜,事事由自己,婚姻有成意,失物三天里。

(3),留连加赤口,病者死人口,失物准丢失,婚姻两分手。

(4),留连加小吉,事事不用提,失物东南去,病者出人齐。

(5),留连加空亡,病人准死亡,失物不见面,婚姻两分张。

速喜日

(1),速喜加赤口,自己往外走,失物往正北,婚姻得勤走。

(2),速喜加小吉,婚姻有人提,病人当天好,时物在家里。

(3),速喜加空亡,婚姻有分张,病者积极治,失物不久见。

(4),速喜加大安,事事都平安,姻姻成全了,占病都相安。

(5),速喜加留连,婚姻不可言,失物无信息,病人有仙缘。

赤口日

(1),赤口加小吉,办事自己提,婚姻不能成,失物无信息。

(2),赤口加空亡,无病也上床,失物不用找,婚姻不能成。

(3),赤口加大安,办事险和难,失物东北找,婚姻指定难。

(4),赤口加留连,办事有困难,行人在外走,失物不回还。

(5),赤口加速喜,婚姻在自己,失物有着落,办事官事起。

小吉日

(1),小吉加空亡,病人不妥当,失物正东找,婚姻再想想。

(2),小吉加大安,事事两周全,婚姻当日定,失物自己损。

(3),小吉加留连,事事有反还,婚姻有人破,失物上西南。

(4),小吉加速喜,事事从头起,婚姻能成就,失物在院里。

(5),小吉加赤口,办事往外走,婚姻有难处,失物丢了手。

空亡日

(1),空亡加大安,事事不周全,婚姻从和好,失物反复间。

(2),空亡加留连,办事处处难,婚姻重新定,失物永不还。

(3),空亡加速喜,事事怨自己,婚姻有一定,失物在家里。

(4),空亡加赤口,办事官非有,婚姻难定准,失物往远走。

(5),空亡加小吉,事事有猜疑,婚姻有喜事,失物回家里。

二、程序写法

小六壬的算法其实非常简单,更多的是得到结果后的理解。在算法中,每年都会重新计算月,正月必为大安,随后各月进行循环,而日是在月的基础上进行循环,时是在日的基础上循环,因此我们可以将月、日相加,对6取模,即可看到当前日处于哪个象位。因为初一会重复当月,所以需要减一。

代码如下:

dict_list = ['大安','留连','速喜','赤口','小吉','空亡']
sum = month + day - 1
today_i = int((sum - 1) % 6)
month_i = int((month - 1) % 6)
today_f = dict_list[today_i]
month_f = dict_list[month_i]

因为小六壬使用的年月日都是太阴历的,所以我们需要进行太阳历与太阴历的转换,borax库可以提供这一功能。

代码如下:

from borax.calendars.lunardate import LunarDatedict_list = ['大安','留连','速喜','赤口','小吉','空亡']s_year = int(input("请输入年:"))
s_month = int(input("请输入月:"))
s_day = int(input("请输入日:"))lunar_date = LunarDate.from_solar_date(s_year, s_month, s_day)
month = lunar_date.month
day = lunar_date.day
print(lunar_date.strftime('%G'))
print('农历 ',month,'月 ',day,'日 ')

在这里,我使用的是 anaconda + pycharm 的编译环境,详见【技术分享】Pycharm 使用 Anaconda 的编译环境 Anaconda 环境创建。

我希望能够将程序打包成exe可执行文件,方便使用。在Python中我们可以使用pyinstaller完成这一功能,在安装pyinstaller库后,我们需要准备一个icon图标,将png格式直接改为icon可能造成无法读取,可以使用比特虫在线制作ico图标ico图标转换工具网站进行转换,亲测暂时没什么问题。将转换好的图标放在py文件同一个文件夹里面,运行命令行,-F表示将文件压成一个可执行文件,-i表示icon。运行会生成一个dist文件夹,里面就是生成的程序。

pyinstaller -F -i ./sample.ico sample.py

得到下面的运行结果



这就是一个简单程序的编写过程,我们可以看到今天是赤口日,接下来就会到赤口时,我决定接下来两个小时不说话了。

完整代码如下:

from borax.calendars.lunardate import LunarDatedict_list = ['大安','留连','速喜','赤口','小吉','空亡']s_year = int(input("请输入年:"))
s_month = int(input("请输入月:"))
s_day = int(input("请输入日:"))lunar_date = LunarDate.from_solar_date(s_year, s_month, s_day)
month = lunar_date.month
day = lunar_date.day
print(lunar_date.strftime('%G'))
print('农历 ',month,'月 ',day,'日 ')sum = month + day - 1
today_i = int((sum - 1) % 6)
month_i = int((month - 1) % 6)
today_f = dict_list[today_i]
month_f = dict_list[month_i]time_i_list = []for i in range(0, 12):num = int((sum - 1 + i) % 6)time_i_list.append(num)print('本月运势: ', month_f)
print('今日运势: ', today_f)
print('子时 23:00-01:00: ', dict_list[time_i_list[0]])
print('丑时 01:00-03:00: ', dict_list[time_i_list[1]])
print('寅时 03:00-05:00: ', dict_list[time_i_list[2]])
print('卯时 05:00-07:00: ', dict_list[time_i_list[3]])
print('辰时 07:00-09:00: ', dict_list[time_i_list[4]])
print('巳时 09:00-11:00: ', dict_list[time_i_list[5]])
print('午时 11:00-13:00: ', dict_list[time_i_list[6]])
print('未时 13:00-15:00: ', dict_list[time_i_list[7]])
print('申时 15:00-17:00: ', dict_list[time_i_list[8]])
print('酉时 17:00-19:00: ', dict_list[time_i_list[9]])
print('戌时 19:00-21:00: ', dict_list[time_i_list[10]])
print('亥时 21:00-23:00: ', dict_list[time_i_list[11]])input()

总结

界面非常简单,后续可能会加入实用性更高的交互界面,本文重点为代码学习交流,欢迎讨论。

理论参考

小六壬的解释和速断

【技术分享】用 Python 实现 小六壬 测算吉时相关推荐

  1. Python技术分享:Python学习的一些小技巧

    "人生苦短,我选Python".那么,你真的掌握了Python吗?下面小千为大家介绍初学Python的17个学习小技巧! 1.交换变量 有时候,当我们要交换两个变量的值时,一种常规 ...

  2. 【华为云技术分享】Python大神编程常用4大工具,你用过几个?

    摘要:Python是一种跨平台的编程语言,能够在所有主要的操作系统上,运行你编写的任何Python程序.今天介绍几款常见的工具:Python自带的解释器.文本编辑器(Geany.Sublime Tex ...

  3. hfss和python_【技术分享】python和HFSS联合仿真微带天线的教程-射频/微波-与非网...

    我们知道 HFSS 是一款电磁仿真商用软件,用其进行天线的设计十分方便.而该软件也预留了可以运行脚本的接口,使用者可以使用脚本对软件进行控制,实现模型的建立.求解等等.由于后期可能会用到联合仿真,而大 ...

  4. hfss和python接口_【技术分享】python和HFSS联合仿真微带天线的教程

    我们知道 HFSS 是一款电磁 仿真 商用软件,用其进行天线的设计十分方便.而该软件也预留了可以运行脚本的接口,使用者可以使用脚本对软件进行控制,实现模型的建立.求解等等.由于后期可能会用到联合仿真, ...

  5. 编程技术分享,程序员小技巧,程序员小伙伴们,你们用到了多少

    程序员的工作就是日复一日的敲代码,每天走着重复的生活,在这枯燥的码代码生活中会让很多的程序员抓狂,那么怎样才能在这无味的生活中找到一丝的乐趣呢?我感觉还是态度问题,拥有自始至终的态度,并且附加一些编程 ...

  6. python爬虫脚本ie=utf-8_分享一个Python爬虫小脚本

    此Python小脚本为抓取此页面:http://tieba.baidu.com/p/2108681777 下的所有jpg图像 ''' Created on 2013-4-2 @author: Admi ...

  7. 技术分享:2.0mm小间距多接枝刚挠结合板制作工艺研究

    随着电子产品小型化及三维组装的发展需求,近几年刚挠结合板得到了迅猛发展:同时为了应对更严格的小型化发展趋势,部分产品已尝试将挠曲长度压缩在2.0mm以内,以节约安装空间.对于此类小间距的刚挠结合板,覆 ...

  8. Python培训技术分享:Python Cookie HTTP获取cookie并处理

    Cookie模块同样是Python标准库中的一员,它定义了一些类来解析和创建HTTP 的 cookie头部信息. 一.创建和设置Cookie >>> import Cookie #导 ...

  9. 【华为云技术分享】Python 中的异常和错误

    [摘要] 异常就是程序运行时发生错误的信号,在python中,错误触发的异常如下 异常和错误 第一:程序中难免出现错误,而错误分成两种 1.语法错误(这种错误,根本过不了python解释器的语法检测, ...

最新文章

  1. Python 中更优雅的环境变量设置方案
  2. python3 __repr__ __str__ 区别
  3. :x 和 :wq 的区别
  4. 超硬核!11 个非常实用的 Python 和 Shell 拿来就用脚本实例!
  5. matlab波特图带延迟的传递函数,matlab实现波特图
  6. C++重绘CPropertySheet
  7. 扫描java类文件_java递归与非递归实现扫描文件夹下文件的实例代码
  8. linux plc编程软件,基于Linux平台的可编程控制器软PLC设计
  9. 数据可视化可视化营养含量
  10. haproxy心跳检测_haproxy 非常完整的配置
  11. 简述隐含表法化简状态步骤
  12. 使用opencv的nonfree模块
  13. Flutter 与 Compose 应该怎么选择?它们冲突吗?
  14. badboy的脚本录制教程
  15. 算法小白理解最大流最小割(Maximum flow Minimum cut)问题
  16. 青春与时代为主题的作文
  17. Liunx系统格式化磁盘和挂载备份盘
  18. Mysql Remark
  19. 如何用coda虚拟环境分隔多个tensorflow版本
  20. 和数软件取得8项软件著作权和2项专利证书

热门文章

  1. python实现手机通讯录_生成CVS格式通讯录的Python实现
  2. 电子琴节奏包制作_XR情报局:如何在网页端轻松制作Beat Saber关卡?
  3. 江湾积极创建国家5A级景区
  4. 黑客常用端口利用总结
  5. 如何买开盘即涨停的个股
  6. Polaris触摸屏维修HUSKY注塑机倍福触摸屏维修CP7011-1023-0010
  7. 多家P2P网贷平台因DDOS攻击而倒闭,P2P平台该怎么应对?
  8. Android 获取App应用、缓存、数据等大小适配8.0(仿微信存储空间)
  9. 巴斯奇亚、Beeple和Hashmasks (插播uniswap V3消息)
  10. php怎么分类东西,php如何实现分类