Metaphysical Wisdom Integration System App - 奇门遁甲,八卦,易经,结合西方紫微斗数的 App

Python

import streamlit as st

import numpy as np

import pandas as pd

from datetime import datetime

import random<br><br># 页面配置

st.set_page_config(

page_title=”玄学智慧融合系统”,

page_icon=”☯️”,

layout=”wide”

)<br><br># 标题

st.title(“☯️ 玄学智慧融合系统”)

st.markdown(“融合奇门遁甲、八卦易经与紫微斗数的综合分析平台”)<br><br># 侧边栏 – 用户输入

with st.sidebar:

st.header(“个人信息”)

birth_date = st.date_input(“出生日期”, datetime(1990, 1, 1))

birth_time = st.time_input(“出生时间”, datetime(1990, 1, 1, 12, 0))

gender = st.radio(“性别”, [“男”, “女”])

st.header(“分析选项”)

analysis_type = st.multiselect(

“选择分析类型”,

[“奇门遁甲”, “八卦易经”, “紫微斗数”, “综合解读”],

default=[“综合解读”]

)

question = st.text_area(“具体问题(可选)”, placeholder=”输入您想咨询的问题…”)

if st.button(“开始分析”, type=”primary”):

st.session_state.analyze = True

else:

if ‘analyze’ not in st.session_state:

st.session_state.analyze = False<br><br># 八卦数据

trigrams = {

“乾”: {“卦象”: “☰”, “五行”: “金”, “方位”: “西北”, “属性”: “天”},

“坤”: {“卦象”: “☷”, “五行”: “土”, “方位”: “西南”, “属性”: “地”},

“震”: {“卦象”: “☳”, “五行”: “木”, “方位”: “东”, “属性”: “雷”},

“巽”: {“卦象”: “☴”, “五行”: “木”, “方位”: “东南”, “属性”: “风”},

“坎”: {“卦象”: “☵”, “五行”: “水”, “方位”: “北”, “属性”: “水”},

“离”: {“卦象”: “☲”, “五行”: “火”, “方位”: “南”, “属性”: “火”},

“艮”: {“卦象”: “☶”, “五行”: “土”, “方位”: “东北”, “属性”: “山”},

“兑”: {“卦象”: “☱”, “五行”: “金”, “方位”: “西”, “属性”: “泽”}

}<br><br># 紫微斗数星曜

stars = {

“紫微”: {“属性”: “帝星”, “五行”: “土”},

“天机”: {“属性”: “智慧”, “五行”: “木”},

“太阳”: {“属性”: “贵星”, “五行”: “火”},

“武曲”: {“属性”: “财星”, “五行”: “金”},

“天同”: {“属性”: “福星”, “五行”: “水”},

“廉贞”: {“属性”: “次桃花”, “五行”: “火”},

“天府”: {“属性”: “令星”, “五行”: “土”},

“太阴”: {“属性”: “富星”, “五行”: “水”}

}<br><br># 奇门遁甲八门

eight_gates = [“休门”, “生门”, “伤门”, “杜门”, “景门”, “死门”, “惊门”, “开门”]<br><br># 主内容区

if st.session_state.analyze:

# 个人信息显示

col1, col2, col3 = st.columns(3)

with col1:

st.metric(“出生日期”, birth_date.strftime(“%Y年%m月%d日”))

with col2:

st.metric(“出生时间”, birth_time.strftime(“%H:%M”))

with col3:

st.metric(“性别”, gender)

st.divider()

# 奇门遁甲分析

if “奇门遁甲” in analysis_type or “综合解读” in analysis_type:

st.header(“🎴 奇门遁甲分析”)

col1, col2, col3 = st.columns(3)

with col1:

# 随机生成局数

ju_num = random.randint(1, 1080)

st.subheader(f”当前局数:第{ju_num}局”)

# 八门排盘

st.subheader(“八门方位”)

gate = random.choice(eight_gates)

st.info(f”当前吉门:<strong></strong>{gate}<strong></strong>”)

with col2:

# 九星

st.subheader(“九星分布”)

stars_list = [“天蓬”, “天任”, “天冲”, “天辅”, “天英”, “天芮”, “天柱”, “天心”]

selected_stars = random.sample(stars_list, 3)

for star in selected_stars:

st.write(f”• {star}”)

with col3:

# 八神

st.subheader(“八神降临”)

gods = [“值符”, “腾蛇”, “太阴”, “六合”, “白虎”, “玄武”, “九地”, “九天”]

selected_god = random.choice(gods)

st.warning(f”主神:<strong></strong>{selected_god}<strong></strong>”)

# 八卦易经分析

if “八卦易经” in analysis_type or “综合解读” in analysis_type:

st.header(“☯️ 八卦易经分析”)

# 随机生成卦象

main_trigram = random.choice(list(trigrams.keys()))

change_trigram = random.choice(list(trigrams.keys()))

col1, col2 = st.columns(2)

with col1:

st.subheader(“本卦”)

trigram_info = trigrams[main_trigram]

st.write(f”卦名:<strong></strong>{main_trigram}卦<strong></strong> {trigram_info[‘卦象’]}”)

st.write(f”五行:{trigram_info[‘五行’]}”)

st.write(f”方位:{trigram_info[‘方位’]}”)

st.write(f”属性:{trigram_info[‘属性’]}”)

with col2:

st.subheader(“变卦”)

trigram_info2 = trigrams[change_trigram]

st.write(f”卦名:<strong></strong>{change_trigram}卦<strong></strong> {trigram_info2[‘卦象’]}”)

st.write(f”五行:{trigram_info2[‘五行’]}”)

st.write(f”方位:{trigram_info2[‘方位’]}”)

st.write(f”属性:{trigram_info2[‘属性’]}”)

# 卦辞解读

st.subheader(“卦辞解读”)

interpretations = [

“亨通顺利,利于坚守正道”,

“时机未到,需耐心等待”,

“变革之时,把握机遇”,

“以柔克刚,顺势而为”,

“光明在前,勇往直前”,

“谨慎行事,三思后行”

]

st.success(random.choice(interpretations))

# 紫微斗数分析

if “紫微斗数” in analysis_type or “综合解读” in analysis_type:

st.header(“✨ 紫微斗数命盘”)

# 生成命宫

life_palace = random.randint(1, 12)

# 十二宫位

palaces = [“命宫”, “兄弟宫”, “夫妻宫”, “子女宫”, “财帛宫”, “疾厄宫”,

“迁移宫”, “交友宫”, “官禄宫”, “田宅宫”, “福德宫”, “父母宫”]

# 创建命盘表格

palace_data = []

for i in range(12):

palace_num = (life_palace + i – 1) % 12

main_star = random.choice(list(stars.keys()))

palace_data.append({

“宫位”: palaces[i],

“主星”: main_star,

“属性”: stars[main_star][“属性”],

“五行”: stars[main_star][“五行”]

})

df = pd.DataFrame(palace_data)

st.dataframe(df, use_container_width=True, hide_index=True

# 重点宫位分析

st.subheader(“重点宫位分析”)

important_palaces = random.sample(palaces, 3)

 

cols = st.columns(3)

for idx, palace in enumerate(important_palaces):

with cols[idx]:

st.metric(

label=palace,

value=df[df[“宫位”] == palace][“主星”].values[0],

delta=df[df[“宫位”] == palace][“属性”].values[0]

)

# 综合解读

if question and (“综合解读” in analysis_type or len(analysis_type) > 1):

st.header(“💫 综合解读”)

# 生成综合建议

advice_categories = {

“事业”: [“积极进取,把握机会”, “稳扎稳打,积累实力”, “创新思维,突破常规”],

“财运”: [“财星高照,投资有利”, “保守理财,避免风险”, “偏财运佳,适度尝试”],

“感情”: [“缘分将至,主动把握”, “耐心等待,静候佳音”, “沟通理解,增进感情”],

“健康”: [“注意作息,保持平衡”, “适度运动,增强体质”, “心态平和,有益健康”]

}

for category, advice_list in advice_categories.items():

with st.expander(f”{category}建议”):

st.write(random.choice(advice_list))

# 生成报告

st.divider()

if st.button(“📥 生成详细报告”):

st.balloons()

st.success(“分析报告已生成!”)

else:

# 欢迎页面

col1, col2, col3 = st.columns(3)

with col1:

st.info(“””

<strong></strong>奇门遁甲<strong></strong>

– 时空方位学

– 八门九星布局

– 趋吉避凶指导

“””)

with col2:

st.warning(“””

<strong></strong>八卦易经<strong></strong>

– 六十四卦象

– 阴阳变化之道

– 人生哲理智慧

“””)

with col3:

st.success(“””

<strong></strong>紫微斗数<strong></strong>

– 十二宫位命盘

– 十四主星解析

– 运势流年分析

“””)

st.divider()

# 功能说明

st.subheader(“使用说明”)

st.write(“””

  1. 在左侧输入个人信息
  2. 选择分析类型
  3. 点击”开始分析”按钮
  4. 查看详细解读结果
  5. 可生成完整分析报告

“””)

# 注意事项

with st.expander(“注意事项”):

st.write(“””

– 本系统仅供娱乐参考

– 命理分析需结合现实

– 结果不作为决策唯一依据

– 保持理性客观态度

“””)<br><br># 页脚

st.divider()

st.caption(“融合东方智慧 • 仅供学术研究参考 • v1.0”)


Metaphysical Wisdom Integration System App - 奇门遁甲,八卦,易经,结合西方紫微斗数的 App

Python import streamlit as st import numpy as np import pandas as pd from datetime import datetime import random<br><br># yèmiàn pèizhì st.Set_page_config( page_title=”xuánxué zhìhuì rónghé xìtǒng”, page_icon=”☯️”, layout=”wide” )<br><br># biāotí st.Title(“☯️ xuánxué zhìhuì rónghé xìtǒng”) st.Markdown(“rónghé qí mén dùnjiǎ, bāguà yì jīng yǔ zǐ wēi dòu shǔ de zònghé fēnxī píngtái”)<br><br># cè biān lán – yònghù shūrù with st.Sidebar: St.Header(“gèrén xìnxī”) birth_date = st.Date_input(“chūshēng rìqí”, datetime(1990, 1, 1)) birth_time = st.Time_input(“chūshēng shíjiān”, datetime(1990, 1, 1, 12, 0)) gender = st.Radio(“xìngbié”, [“nán”, “nǚ”]) st.Header(“fēnxī xuǎnxiàng”) analysis_type = st.Multiselect( “xuǎnzé fēnxī lèixíng”, [“qí mén dùnjiǎ”, “bāguà yì jīng”, “zǐ wēi dòu shù”, “zònghé jiědú”], default=[“zònghé jiědú”] ) question = st.Text_area(“jùtǐ wèntí (kě xuǎn)”, placeholder=”shūrù nín xiǎng zīxún de wèntí…”) If st.Button(“kāishǐ fēnxī”, type=”primary”): St.Session_state.Analyze = True else: If’analyze’ not in st.Session_state: St.Session_state.Analyze = False<br><br># bāguà shùjù trigrams = { “qián”: {“Guà xiàng”: “☰”, “Wǔháng”: “Jīn”, “fāngwèi”: “Xīběi”, “shǔxìng”: “Tiān”}, “kūn”: {“Guà xiàng”: “☷”, “Wǔháng”: “Tǔ”, “fāngwèi”: “Xīnán”, “shǔxìng”: “De”}, “zhèn”: {“Guà xiàng”: “☳”, “Wǔháng”: “Mù”, “fāngwèi”: “Dōng”, “shǔxìng”: “Léi”}, “xùn”: {“Guà xiàng”: “☴”, “Wǔháng”: “Mù”, “fāngwèi”: “Dōngnán”, “shǔxìng”: “Fēng”}, “kǎn”: {“Guà xiàng”: “☵”, “Wǔháng”: “Shuǐ”, “fāngwèi”: “Běi”, “shǔxìng”: “Shuǐ”}, “lí”: {“Guà xiàng”: “☲”, “Wǔháng”: “Huǒ”, “fāngwèi”: “Nán”, “shǔxìng”: “Huǒ”}, “gěn”: {“Guà xiàng”: “☶”, “Wǔháng”: “Tǔ”, “fāngwèi”: “Dōngběi”, “shǔxìng”: “Shān”}, “duì”: {“Guà xiàng”: “☱”, “Wǔháng”: “Jīn”, “fāngwèi”: “Xī”, “shǔxìng”: “Zé”} }<br><br># zǐ wēi dòu shù xīng yào stars = { “zǐ wēi”: {“Shǔxìng”: “Dì xīng”, “wǔháng”: “Tǔ”}, “tiānjī”: {“Shǔxìng”: “Zhìhuì”, “wǔháng”: “Mù”}, “tàiyáng”: {“Shǔxìng”: “Guì xīng”, “wǔháng”: “Huǒ”}, “wǔ qū”: {“Shǔxìng”: “Cái xīng”, “wǔháng”: “Jīn”}, “tiān tóng”: {“Shǔxìng”: “Fúxīng”, “wǔháng”: “Shuǐ”}, “lián zhēn”: {“Shǔxìng”: “Cì táohuā”, “wǔháng”: “Huǒ”}, “tiānfǔ”: {“Shǔxìng”: “Lìng xīng”, “wǔháng”: “Tǔ”}, “tàiyīn”: {“Shǔxìng”: “Fù xīng”, “wǔháng”: “Shuǐ”} }<br><br># qí mén dùnjiǎ bā mén eight_gates = [“xiū mén”, “shēng mén”, “shāng mén”, “dùmén”, “jǐng mén”, “sǐ mén”, “jīng mén”, “kāimén”]<br><br># zhǔ nèiróng qū if st.Session_state.Analyze: # Gèrén xìnxī xiǎnshì col1, col2, col3 = st.Columns(3) with col1: St.Metric(“chūshēng rìqí”, birth_date.Strftime(“%Y nián%m yuè%d rì”)) with col2: St.Metric(“chūshēng shíjiān”, birth_time.Strftime(“%H:%M”)) with col3: St.Metric(“xìngbié”, gender) st.Divider() # qí mén dùnjiǎ fēnxī if”qí mén dùnjiǎ” in analysis_type or”zònghé jiědú” in analysis_type: St.Header(“🎴 qí mén dùnjiǎ fēnxī”) col1, col2, col3 = st.Columns(3) with col1: # Suíjī shēngchéng jú shù ju_num = random.Randint(1, 1080) st.Subheader(f”dāngqián jú shù: Dì {ju_num} jú”) # bā mén pái pán st.Subheader(“bā mén fāngwèi”) gate = random.Choice(eight_gates) st.Info(f”dāngqián jí mén:<Strong></strong>{gate}<strong></strong>”) with col2: # Jiǔxīng st.Subheader(“jiǔxīng fēnbù”) stars_list = [“tiān péng”, “tiān rèn”, “tiān chōng”, “tiān fǔ”, “tiān yīng”, “tiān ruì”, “tiān zhù”, “tiānxīn”] selected_stars = random.Sample(stars_list, 3) for star in selected_stars: St.Write(f”• {star}”) with col3: # Bāshén st.Subheader(“bāshén jiànglín”) gods = [“zhí fú”, “téng shé”, “tàiyīn”, “liùhé”, “báihǔ”, “xuánwǔ”, “jiǔ de”, “jiǔtiān”] selected_god = random.Choice(gods) st.Warning(f”zhǔshén:<Strong></strong>{selected_god}<strong></strong>”) # bāguà yì jīng fēnxī if”bāguà yì jīng” in analysis_type or”zònghé jiědú” in analysis_type: St.Header(“☯️ bāguà yì jīng fēnxī”) # suíjī shēngchéng guà xiàng main_trigram = random.Choice(list(trigrams.Keys())) change_trigram = random.Choice(list(trigrams.Keys())) col1, col2 = st.Columns(2) with col1: St.Subheader(“běn guà”) trigram_info = trigrams[main_trigram] st.Write(f”guà míng:<Strong></strong>{main_trigram} guà <strong></strong> {trigram_info[‘guà xiàng’]}”) st.Write(f”wǔháng:{Trigram_info[‘wǔháng’]}”) st.Write(f”fāngwèi:{Trigram_info[‘fāngwèi’]}”) st.Write(f”shǔxìng:{Trigram_info[‘shǔxìng’]}”) with col2: St.Subheader(“biànguà”) trigram_info2 = trigrams[change_trigram] st.Write(f”guà míng:<Strong></strong>{change_trigram} guà <strong></strong> {trigram_info2[‘guà xiàng’]}”) st.Write(f”wǔháng:{Trigram_info2[‘wǔháng’]}”) st.Write(f”fāngwèi:{Trigram_info2[‘fāngwèi’]}”) st.Write(f”shǔxìng:{Trigram_info2[‘shǔxìng’]}”) # guàcí jiědú st.Subheader(“guàcí jiědú”) interpretations = [ “hēngtōng shùnlì, lìyú jiānshǒu zhèngdào”, “shíjī wèi dào, xū nàixīn děngdài”, “biàngé zhī shí, bǎwò jīyù”, “yǐróukègāng, shùnshì ér wéi”, “guāngmíng zài qián, yǒngwǎngzhíqián”, “jǐnshèn xíngshì, sānsī hòu xíng” ] st.Success(random.Choice(interpretations)) # zǐ wēi dòu shù fēnxī if”zǐ wēi dòu shù” in analysis_type or”zònghé jiědú” in analysis_type: St.Header(“✨ zǐ wēi dòu shù mìng pán”) # shēngchéng mìng gōng life_palace = random.Randint(1, 12) # shí’èr gōng wèi palaces = [“mìng gōng”, “xiōngdì gōng”, “fūqī gōng”, “zǐnǚ gōng”, “cáibó gōng”, “jí è gōng”, “qiānyí gōng”, “jiāoyǒu gōng”, “guān lù gōng”, “tián zhái gōng”, “fú dé gōng”, “fùmǔ gōng”] # chuàngjiàn mìng pán biǎogé palace_data = [] for i in range(12): Palace_num = (life_palace + i – 1)% 12 main_star = random.Choice(list(stars.Keys())) palace_data.A