提交 a32df406 编写于 作者: D dongxin1980qw

Sat May 18 06:13:00 CST 2024 inscode

上级 2eebcf6c
run = "pip install -r requirements.txt;python main.py"
language = "python"
[packager]
AUTO_PIP = true
......@@ -9,4 +10,7 @@ PATH = "${VIRTUAL_ENV}/bin:${PATH}"
PYTHONPATH = "$PYTHONHOME/lib/python3.10:${VIRTUAL_ENV}/lib/python3.10/site-packages"
REPLIT_POETRY_PYPI_REPOSITORY = "http://mirrors.csdn.net.cn/repository/csdn-pypi-mirrors/simple"
MPLBACKEND = "TkAgg"
POETRY_CACHE_DIR = "/root/${PROJECT_DIR}/.cache/pypoetry"
\ No newline at end of file
POETRY_CACHE_DIR = "/root/${PROJECT_DIR}/.cache/pypoetry"
[debugger]
program = "main.py"
print('欢迎来到 InsCode')
\ No newline at end of file
names = ["坤", "剥", "比", "观", "豫", "晋", "萃", "否", "谦", "艮", "蹇", "渐", "小过", "旅", "咸", "遁", "师", "蒙", "坎", "涣", "解", "未济", "困", "讼", "升", "蛊", "井", "巽", "恒", "鼎", "大过", "姤", "复", "颐", "屯", "益", "震", "噬嗑", "随", "无妄", "明夷", "贲", "既济", "家人", "丰", "离", "革", "同人", "临", "损", "节", "中孚", "归妹", "睽", "兑", "履", "泰", "大畜", "需", "小畜", "大壮", "大有", "夬", "乾"]
pics = ["乾", "坤", "屯", "蒙", "需", "讼", "师", "比", "小畜", "履", "泰", "否", "同人", "大有", "谦", "豫", "随", "蛊", "临", "观", "噬嗑", "贲", "剥", "复", "无妄", "大畜", "颐", "大过", "坎", "离", "咸", "恒", "遁", "大壮", "晋", "明夷", "家人", "睽", "蹇", "解", "损", "益", "夬", "姤", "萃", "升", "困", "井", "革", "鼎", "震", "艮", "渐", "归妹", "丰", "旅", "巽", "兑", "涣", "节", "中孚", "小过", "既济", "未济"]
def change(gua, yao):
for i in range(64):
if names[i] == gua:
ind = i ^ (64 >> yao)
return names[ind]
return ""
def order(i):
if 0 <= i <= 12:
return names[32 + i]
elif 13 <= i <= 29:
return names[33 + i]
elif 30 <= i <= 42:
return names[61 - i]
elif 43 <= i <= 59:
return names[60 - i]
return ""
def add(ss, a):
s = ss
if ss == "乾":
s = "姤"
elif ss == "坤":
s = "复"
elif ss == "坎":
s = "蒙"
elif ss == "离":
s = "革"
for i in range(64):
if order(i) == s:
return order((i + a) % 60)
return ""
def getPic(name):
for i in range(64):
if pics[i] == name:
return chr(19904 + i)
return ''
def cal(year):
if year == 0:
print("没有0年")
return
y = year if year > 0 else year + 1
ayun = (y - 1744) // 360 + 192 if y >= 1744 else (y - 1743) // 360 + 191
if 1 <= ayun <= 360:
year_str = str(year) if year >= 0 else f"前{-year}"
print(f"公元{year_str}年,", end="")
hui = (ayun - 1) // 30 + 1
yun = 30 if ayun % 30 == 0 else ayun % 30
huigua = order((ayun - 1) // 6)
yungua = change(huigua, 6 if ayun % 6 == 0 else ayun % 6)
ayear = y - (ayun - 192) * 360 - 1744
shi = ayear // 30 + 1
nian = ayear % 30 + 1
shigua = change(yungua, (shi - 1) // 2 + 1)
shiniangua = change(shigua, (nian - 1) // 10 + 1 if shi % 2 == 1 else (nian - 1) // 10 + 4)
niangua = add(shigua, ayear % 60)
print(f"第{hui}会,第{yun}运,全元第{ayun}运,第{shi}世,第{nian}年,全运第{ayear + 1}年,会卦{huigua}{getPic(huigua)},运卦{yungua}{getPic(yungua)},世卦{shigua}{getPic(shigua)},十年卦{shiniangua}{getPic(shiniangua)},年卦{niangua}{getPic(niangua)},月卦依次为", end="")
for i in range(1, 6):
print(f"{change(niangua, i)}{getPic(change(niangua, i))}、", end="")
print(f"{change(niangua, 6)}{getPic(change(niangua, 6))}")
else:
print("超出本元")
def main():
print("输入公元年数,公元前用负号表示")
while True:
try:
year = int(input())
cal(year)
except ValueError:
print("请输入有效的整数年份")
except EOFError:
break
if __name__ == "__main__":
main()
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册