【技術(shù)分享】用 Python 實現(xiàn) 小六壬 測算吉時 | 您所在的位置:網(wǎng)站首頁 › 六爻掐指算法 › 【技術(shù)分享】用 Python 實現(xiàn) 小六壬 測算吉時 |
我是大海的嘆息,是天空的淚水,是田野的微笑。這同愛情何其酷肖:它是感情大海的嘆息,是思想天空的淚水,是心靈田野的微笑。 文章目錄 前言一、小六壬的算法二、程序?qū)懛偨Y(jié)理論參考 前言我國傳統(tǒng)文化源遠(yuǎn)流長,孕育出了眾多奇門術(shù)法。在小說和各種影視作品中,我們經(jīng)常看到有高人掐指一算,沉思片刻,就悟得天機(jī)的情節(jié),這里高人所使用的術(shù)法,就是小六壬。小六壬易學(xué)不易成,起課需天機(jī),悟道需德行。本文用小學(xué)生人均在學(xué)的Python實現(xiàn)一個簡易版小六壬吉時測算程序,簡單易懂。 提示:本文僅為計算機(jī)研究,并不建議在日常生活中使用下述方法測算。功行不夠,強(qiáng)行起課,違背天時,難有良果。 一、小六壬的算法小六壬功法需謹(jǐn)記:不急不占,無事不占,不動不占。本法可測萬象事物,測算吉時需準(zhǔn)確的年,月,日,時,即可算出結(jié)果。入卦方法為按陰歷算,用左拇指在六個掌訣位上按順時針方向依次掐算即知結(jié)果。其法以大安起正月,月上起日,日上起時。共分為大安,留連,速喜,赤口,小吉,空亡。 大安,平安,求財?shù)茫锓担膊“病?/p> 留連,難成,訴訟緩,速尋物,防口角。 速喜,有喜,失物得,疾病愈,遠(yuǎn)行安。 赤口,口角,防訴狀,遠(yuǎn)行驚,遭詛咒。 小吉,吉祥,人報喜,出走歸,凡事美。 空亡,大兇,遇災(zāi)禍,遠(yuǎn)行難,病益重。 在使用時,月份,日期,時辰需要相互配合,運(yùn)氣也與八字有關(guān),如八字中今年有不利,可以用小六壬來預(yù)測事情發(fā)生的時間,來進(jìn)行預(yù)防。 在使用時,日期,時辰相互配合最重要。先找出日子的六壬,再看時辰的六壬,下面是規(guī)律: 大安日 (1),大安加留連,辦事不周全,失物西北去,婚姻晚幾天。 (2),大安加速喜,事事自己起,失物當(dāng)日見,婚姻自己提。 (3),大安加赤口,辦事不順手,失物不用找,婚姻兩分手。 (4),大安加小吉,事事從己及,失物不出門,婚姻成就地。 (5),大安加空亡,病人要上床,失物無蹤影,事事不順情。 留連日 (1),留連加大安,辦事兩分張,婚姻有喜事,先苦后來甜。 (2),留連加速喜,事事由自己,婚姻有成意,失物三天里。 (3),留連加赤口,病者死人口,失物準(zhǔn)丟失,婚姻兩分手。 (4),留連加小吉,事事不用提,失物東南去,病者出人齊。 (5),留連加空亡,病人準(zhǔn)死亡,失物不見面,婚姻兩分張。 速喜日 (1),速喜加赤口,自己往外走,失物往正北,婚姻得勤走。 (2),速喜加小吉,婚姻有人提,病人當(dāng)天好,時物在家里。 (3),速喜加空亡,婚姻有分張,病者積極治,失物不久見。 (4),速喜加大安,事事都平安,姻姻成全了,占病都相安。 (5),速喜加留連,婚姻不可言,失物無信息,病人有仙緣。 赤口日 (1),赤口加小吉,辦事自己提,婚姻不能成,失物無信息。 (2),赤口加空亡,無病也上床,失物不用找,婚姻不能成。 (3),赤口加大安,辦事險和難,失物東北找,婚姻指定難。 (4),赤口加留連,辦事有困難,行人在外走,失物不回還。 (5),赤口加速喜,婚姻在自己,失物有著落,辦事官事起。 小吉日 (1),小吉加空亡,病人不妥當(dāng),失物正東找,婚姻再想想。 (2),小吉加大安,事事兩周全,婚姻當(dāng)日定,失物自己損。 (3),小吉加留連,事事有反還,婚姻有人破,失物上西南。 (4),小吉加速喜,事事從頭起,婚姻能成就,失物在院里。 (5),小吉加赤口,辦事往外走,婚姻有難處,失物丟了手。 空亡日 (1),空亡加大安,事事不周全,婚姻從和好,失物反復(fù)間。 (2),空亡加留連,辦事處處難,婚姻重新定,失物永不還。 (3),空亡加速喜,事事怨自己,婚姻有一定,失物在家里。 (4),空亡加赤口,辦事官非有,婚姻難定準(zhǔn),失物往遠(yuǎn)走。 (5),空亡加小吉,事事有猜疑,婚姻有喜事,失物回家里。 二、程序?qū)懛?小六壬的算法其實非常簡單,更多的是得到結(jié)果后的理解。在算法中,每年都會重新計算月,正月必為大安,隨后各月進(jìn)行循環(huán),而日是在月的基礎(chǔ)上進(jìn)行循環(huán),時是在日的基礎(chǔ)上循環(huán),因此我們可以將月、日相加,對6取模,即可看到當(dāng)前日處于哪個象位。因為初一會重復(fù)當(dāng)月,所以需要減一。 代碼如下: 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]因為小六壬使用的年月日都是太陰歷的,所以我們需要進(jìn)行太陽歷與太陰歷的轉(zhuǎn)換,borax庫可以提供這一功能。 代碼如下: from borax.calendars.lunardate import LunarDate dict_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('農(nóng)歷 ',month,'月 ',day,'日 ')在這里,我使用的是 anaconda + pycharm 的編譯環(huán)境,詳見【技術(shù)分享】Pycharm 使用 Anaconda 的編譯環(huán)境 Anaconda 環(huán)境創(chuàng)建。 我希望能夠?qū)⒊绦虼虬蒭xe可執(zhí)行文件,方便使用。在Python中我們可以使用pyinstaller完成這一功能,在安裝pyinstaller庫后,我們需要準(zhǔn)備一個icon圖標(biāo),將png格式直接改為icon可能造成無法讀取,可以使用比特蟲在線制作ico圖標(biāo)ico圖標(biāo)轉(zhuǎn)換工具網(wǎng)站進(jìn)行轉(zhuǎn)換,親測暫時沒什么問題。將轉(zhuǎn)換好的圖標(biāo)放在py文件同一個文件夾里面,運(yùn)行命令行,-F表示將文件壓成一個可執(zhí)行文件,-i表示icon。運(yùn)行會生成一個dist文件夾,里面就是生成的程序。 pyinstaller -F -i ./sample.ico sample.py得到下面的運(yùn)行結(jié)果 完整代碼如下: from borax.calendars.lunardate import LunarDate dict_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('農(nóng)歷 ',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('本月運(yùn)勢: ', month_f) print('今日運(yùn)勢: ', 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() 總結(jié)界面非常簡單,后續(xù)可能會加入實用性更高的交互界面,本文重點(diǎn)為代碼學(xué)習(xí)交流,歡迎討論。 理論參考小六壬的解釋和速斷 |
今日新聞 |
推薦新聞 |
專題文章 |
CopyRight 2018-2019 實驗室設(shè)備網(wǎng) 版權(quán)所有 |