Skip to main content

A package of iching stalk divination (texts written in Traditional Chinese). Python周易筮法,起卦不求人。

Project description

周易筮法卜卦 Iching Shifa (stalk divination)

alt text

"筮"是傳統的周易起卦方式。古人以50根蓍草作為占卜工具,名為策,故此法亦稱"籌策"占卜。《周易系辭上傳》辭曰:"大衍之數五十,其用四十有九。分而為二以像兩,掛一以像三, 揲之以四以像四時,歸奇於扐以像閏,五歲再閏,故再扐而後掛。 天一地二,天三地四,天五地六,天七地八,天九地十。天數五,地數五,五位相得而各有合。天數二十有五,地數三十,凡天地之數五十有五。此所以成變化而行鬼神也。"

整個起卦過程是要求得十八次的隨機數目,當中包括"六次"(即六根爻)的"三變"。

1. 大衍之數、太一、分二、掛一、揲四、歸奇

#一變的過程
n=2
stalks_first = 50-1  #把太一拿走
dividers = sorted(random.sample(range(24, stalks_first), n - 1)) #分二
division  = [a - b for a, b in zip(dividers + [stalks_first+10], [10] + dividers)]
guayi = 1 #掛一
right = division[0] - guayi 
left_extract = division[1] % 4  #揲四
if left_extract == 0:
    left_extract = 4
right_extract = right % 4
if right_extract == 0:
    right_extract = 4 #歸奇
bian  = left_extract + right_extract + guayi #一變,其餘二變倣效此法,如果做for loop 這裡的掛一可以拿走,不用加上。

上述為一變,一變重複三次,49策 - 一變 - 二變 - 三變 = 爻。(建議三變不要以for loop做;for loop做出來的六爻動概率稍高。)分二的時候,原來設定隨機數範圍為1至49,但本人使用實物求筮時,分二左右手各得的策數目應該不會相差太遠,所以稍微調節了隨機數的範圍。以四十九除以二,即二十四作為下限。

而每一根爻的數值可以是6(老陰)、7(少陽)、8(少陰)或者 9(老陽)

上述求爻數值重複六次,第一爻為初爻,從底而上,形成本卦,然後依據卦的變爻多寡求出占卜結果。

2. 處理變爻的方法︰

  1. 凡卦六爻皆不變則占本卦彖辭而以內卦為貞外卦為悔彖辭為卦下之辭

  2. 一爻變則以本卦變爻辭

  3. 二爻變則以本卦二變爻辭占仍以上爻為主

  4. 三爻變則占本卦及之卦之彖辭即以本卦為貞之卦為悔前十卦主貞後十卦主悔

  5. 四爻變則以之卦二不變爻占仍以下爻為主經 亦無文今以例推之當如此

  6. 五爻變則以之卦不變爻占

  7. 六爻變則乾坤占二用餘卦占之卦彖辭

alt text

50000次起卦不同動爻數量出現概率︰

二動爻:30.52%

一動爻:17.10%

三動爻:13.61%

四動爻:3.42%

五動爻:0.43%

六動爻:0.03%

參考自【宋】‧朱熹、蔡元定《易學啟蒙》卷下 考變占︰

3. 安裝套件:

pip install --upgrade ichingshifa

4. 快速起卦:

from ichingshifa import ichingshifa
ichingshifa.bookgua_details() 

快速起卦包括顯示六爻組合[0]、本卦[1]、卦辭、初爻、爻二、爻三、爻四、爻五、上爻、彖辭[2]、動(變)爻數目[3]、之卦[4]。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ichingshifa-2.7.2.tar.gz (4.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ichingshifa-2.7.2-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

Details for the file ichingshifa-2.7.2.tar.gz.

File metadata

  • Download URL: ichingshifa-2.7.2.tar.gz
  • Upload date:
  • Size: 4.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.3

File hashes

Hashes for ichingshifa-2.7.2.tar.gz
Algorithm Hash digest
SHA256 39804fd006b8fbd91f416a0eeaf0520d74dec7c3953df05ab6a976984954f670
MD5 b18d4ed64dbca23cf5d3420c354dd173
BLAKE2b-256 ba1614fa7ca0e9e6d04cd971a864fc550441a722041812821553ae7c53c6d45a

See more details on using hashes here.

File details

Details for the file ichingshifa-2.7.2-py3-none-any.whl.

File metadata

  • Download URL: ichingshifa-2.7.2-py3-none-any.whl
  • Upload date:
  • Size: 5.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.3

File hashes

Hashes for ichingshifa-2.7.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0ae030d57fd7e7e46f89930a5a67a78a45a19695ef61550448cbfd4acfc119be
MD5 ec017aa02d8237cf3860532b545a1886
BLAKE2b-256 04bba136dc864d2c0749179c5ac36a0c4451dfbce8740dd1f7f14bbba6648836

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page