python写了一个小六壬排盘
{:1_893:}{:1_893:}{:1_893:}不知道这一类的是否违规,请大大先别给处罚,我自己删。{:1_893:}{:1_893:}{:1_893:}最近身边朋友突然对小六壬感兴趣了,跟着凑了个热闹,手动比较麻烦就用Python写了一个简单的{:1_909:}
import math
# 定义六宫
liugong = ['大安', '留连', '速喜', '赤口', '小吉', '空亡']
# 手动输入月、日、时
month = int(input('请输入月份(1-12):'))
day = int(input('请输入日期(1-31):'))
hour = int(input('请输入时间(0-23):'))
# 定义十二地支
dizhi = ['子', '丑', '寅', '卯', '辰', '巳', '午', '未', '申', '酉', '戌', '亥']
# 定义24小时分别对应的十二地支
hour_dizhi = ['子', '丑', '丑', '寅', '寅', '卯', '卯', '辰', '辰', '巳', '巳', '午', '午', '未', '未', '申', '申', '酉', '酉', '戌', '戌', '亥', '亥', '子']
# 判断时宫对应的地支属于阴或阳
if hour % 2 == 0:
hour_dizhi_index = hour // 2
yinyang = '阳'
else:
hour_dizhi_index = (hour + 1) // 2
yinyang = '阴'
# 地支若阴逆时针排列至六宫,地支若阳顺时针排列至六宫
if yinyang == '阴':
liugong_start_index = (dizhi.index(hour_dizhi) + 1) % 12
else:
liugong_start_index = (dizhi.index(hour_dizhi) - 1) % 12
liugong_ordered = dizhi + dizhi[:liugong_start_index]
# 定义五行
wuxing = {'木': ['寅', '卯'], '火': ['巳', '午'], '土': ['丑', '辰', '戌'], '金': ['申', '酉'], '水': ['亥', '子']}
# 判断所在地支属于哪种五行
for key in wuxing:
if dizhi in wuxing:
wuxing_type = key
break
# 输出结果
print('六宫依次为:', end='')
for index, value in enumerate(liugong):
print(value + '(' + liugong_ordered + ')', end=',')
print('\n所在时辰为', hour_dizhi + yinyang + '时,属于', wuxing_type + ',对应', liugong_ordered.index(hour_dizhi) + 1, '号宫。')
测试输出结果:请输入月份(1-12):12请输入日期(1-31):12请输入时间(0-23):12六宫依次为:大安(寅),留连(卯),速喜(辰),赤口(巳),小吉(午),空亡(未),所在时辰为 卯阳时,属于 土,对应 2 号宫。
东西还不完善。
写的也挺费劲。
有兴趣的可以玩玩。
大家测试了哪里有问题可以提出来,我看看难易程度决定补不补充:rggrg毕竟能力有限!
------------------------
这东西有那么简单? 这个真要写怕是有点复杂哦 够喝一壶的了 封神之剑 发表于 2023-4-3 21:39
这东西有那么简单?
我对这些东西也不太懂,能力也有限,只写出了这么点东西。 我看他们的小六壬是日期(月、日)推出一个六宫。时辰推出一个六宫。两个对起来卜卦。有的还加一个补充数,用来卜同时间生的人 谢谢分享!!! 我去,这都能写!!!!!! 中华传统文化,python也来实现了? 谢谢分享!!
页:
[1]
2