![]()
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("""
- 在左侧输入个人信息
- 选择分析类型
- 点击"开始分析"按钮
- 查看详细解读结果
- 可生成完整分析报告
""")
# 注意事项
with st.expander("注意事项"):
st.write("""
- 本系统仅供娱乐参考
- 命理分析需结合现实
- 结果不作为决策唯一依据
- 保持理性客观态度
""")<br><br># 页脚
st.divider()
st.caption("融合东方智慧 • 仅供学术研究参考 • v1.0")

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
- 5 Forums
- 4 Topics
- 4 Posts
- 1 Online
- 2 Members
