|
ZiWei
紫微斗數
Featured Introduction# 古時月份從3月開始 寅宮地支表 = 地支表[2:]+地支表[:2] # 五行局數 河圖+洛書 # http://hk.myblog.yahoo.com/lawrencioy/article?mid=363 # http://hk.myblog.yahoo.com/lawrencioy/article?mid=368 火.局數 = 6 土.局數 = 5 金.局數 = 4 木.局數 = 3 水.局數 = 2 Details
紫微從 copy 導入 deepcopy
類別 紫微斗數(生辰八字):
"""
出生時辰 < 命宮位置 < 命宮天干 < 五行局 < 紫微星 > 十四主星
http://hk.myblog.yahoo.com/lawrencioy/article?mid=257
"""
定義 __初始化__(我, 姓名, 性別, 生年, 生月, 生日, 生時, 閏月 = 0):
super(紫微斗數, self).__初始化__(姓名, 性別, 生年, 生月, 生日, 生時, 閏月)
# 1. 安命身宮
我.命宮 = 我._取命宮() #命宮地支
我.身宮 = 我._取身宮()
我.命主 = 我._取命主()
我.身主 = 我._取身主()
# 2. 安十二宮
我.__命宮支數 = 寅宮地支表.索引(我.命宮)
# 讓各個紫微斗數物件擁有獨立的宮垣物件
我.十二宮位 = deepcopy(十二宮表[-我.__命宮地支:]) + \
deepcopy(十二宮表[:-我.__命宮地支])
# 3. 定宮位天干
我.寅宮天干表 = 天干表[天干表.索引(我.五虎遁(我.生年.天干)):] + \
天干表[:(天干表.索引(我.五虎遁(我.生年.天干))+2)]
# 將寅宮干支填入十二宮位
取 順序, 宮位 自 列舉(我.十二宮位):
宮位.天干 = 我.寅宮天干表[順序]
宮位.地支 = 寅宮地支表[順序]
# 4. 安五行局
我.五行局 = 我._安五行局()
# 5. 安十四主星的宮位
我._安十四主星()
# 安輔、佐、煞、化、雜曜
我._安七吉六煞星()
我._安四化星()
我._安年系星()
我._安月系星()
我._安日系星()
# 判斷亮度
....定寅宮天干...
定義 五虎遁(我, 生年天干):
"""
定寅宮天干
就命主出生的年干,按表尋得所化之五行
找出該五行所洩的五行
對應所洩五行的天干便是「寅」宮的天干
"""
如果 生年天干 在 (甲, 己): # 土
返回 土.相洩.天干[0] #丙
假使 生年天干 在 (乙, 庚): # 金
返回 金.相洩.天干[0] #戊
假使 生年天干 在 (丙, 辛): # 水
返回 水.相洩.天干[0] #庚
假使 生年天干 在 (丁, 壬): # 木
返回 木.相洩.天干[0] #壬
假使 生年天干 在 (戊, 癸): # 火
返回 火.相洩.天干[0] #甲定盤....
定義 定盤(我):
印出 我.姓名
印出 字串(我.生年.陰陽)+字串(我.性別), \
字串(我.五行局)+字串(我.五行局.局數)+"局", \
"生肖", 字串(我.生年.地支.生肖)
印出 "定盤日期", 字串(我.生年)+"年 "+\
字串(我.生月)+"月 "+字串(我.生日)+"日 "+字串(我.時辰)+"時"
印出 "命宮", 字串(我.命宮), "身宮", 字串(我.身宮)
印出 "命主", 字串(我.命主), "身主", 字串(我.身主), "\n"
取 宮位 自 我.十二宮位:
印出 宮位.天干, 宮位.地支, 宮位
如果 宮位.正曜:
取 正曜 自 宮位.正曜:
印出 正曜
如果 宮位.輔曜:
取 輔曜 自 宮位.輔曜:
印出 輔曜使用直接修改 "主程式" 區塊, 填入你要的命盤, 如 主程式:
# 代號 = 紫微斗數(姓名, 性別, 生年, 生月, 生日, 生時)
q = 紫微斗數("如花", 女, 辛酉, 2, 24, 午)
q.定盤()測試先透過周蟒 zhpy 命令來生成 python 原始碼 $ zhpy -p zwds.twpy 注意 -p 選項會將 zwds.twpy 轉換成 python 原始碼後儲存到 n_zwds.py 中. 然後使用 nose 工具來測試 $ nosetests n_zwds.py ........ ---------------------------------------------------------------------- Ran 8 tests in 0.009s OK 從外部使用先透過周蟒 zhpy 命令來生成 python 原始碼 $ zhpy -p zwds.twpy 注意 -p 選項會將 zwds.twpy 轉換成 python 原始碼後儲存到 n_zwds.py 中. 然後可透過周蟒調用 從 n_zwds 導入 紫微斗數
q = 紫微斗數("如花", 女, 辛酉, 2, 24, 午)
q.定盤()參考: 地支, 五行, 出生時間, 宮垣 |
► Sign in to add a comment