<kbd id="9plqc"><label id="9plqc"></label></kbd>

        <th id="9plqc"></th>
        1. <center id="9plqc"><video id="9plqc"></video></center>
          <sub id="9plqc"><form id="9plqc"><pre id="9plqc"></pre></form></sub>
          <nav id="9plqc"><form id="9plqc"><legend id="9plqc"></legend></form></nav>
          從生日來推算八字(從零開始學(xué)python) 您所在的位置:網(wǎng)站首頁 稱骨算命公式怎么算 從生日來推算八字(從零開始學(xué)python)

          從生日來推算八字(從零開始學(xué)python)

          2025-07-17 01:16| 來源: 網(wǎng)絡(luò)整理| 查看: 265

          題目要求:用戶輸入生日,來得到其生辰八字?

          首先生辰八字分為四個部分,分別對應(yīng)生日的四個部分,即年,月,日,時。并且由天干地支來組成。

          十天干:甲,乙,丙,丁,戊,己,庚,辛,壬,癸

          十二地支:子,丑,寅,卯,辰,巳,午,未,申,酉,戌,亥

          由于每部分的干支最初的定位不同,所以我把每一部分都設(shè)置了自己的干支list

          首先做準(zhǔn)備工作,將用戶輸入的生日轉(zhuǎn)化為農(nóng)歷

          from zhdate import ZhDate from datetime import datetime birthday=input('請輸入出生日期(Y/M/D/H):') #例:2022102321 dt_date = datetime(int(birthday[0:4]),int(birthday[4:6]),int(birthday[6:8]),int(birthday[8:])) date = str(ZhDate.from_datetime(dt_date)) print(date)

          用此方法即可得到生日的農(nóng)歷日期?

          一、年干支算法

          tiangan_1=['庚','辛','壬','癸','甲','乙','丙','丁','戊','己'] dizhi_1=["子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"] #輸出年的天干和地支 a,b=0,0 year = int(date[2:6]) year-=1900 year%=60 for _ in range(year): a+=1 b+=1 A = a % 10 B = b % 12 print(tiangan_1[A],dizhi_1[B])

          ?二、月干支算法

          tiangan_2=['甲','乙','丙','丁','戊','己','庚','辛','壬','癸'] dizhi_2=["寅","卯","辰","巳","午","未","申","酉","戌","亥","子","丑"] if date[7] == 1 : if date[8] in [1,2,0]: month = int(date[7]+date[8]) else: month = int(date[7]) #月干序 mon_gx = (int(date[5])-3)*2 + month while mon_gx >10 : mon_gx-=10 #月支序 mon_zx = month print(mon_gx,mon_zx)

          三、日干支算法

          (因?yàn)槿崭芍П旧淼奶攸c(diǎn),計算起來比較麻煩,該代碼僅供大家參考)

          tiangan_3 = ['甲','乙','丙','丁','戊','己','庚','辛','壬','癸'] dizhi_3 = ["子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"] Day = int(birthday[6]+birthday[7]) Y_2=int(date[4:6]) F_day = ((Y_2+7)*5 + int((Y_2+19)/4) + 15) % 60 if (year % 4) == 0: if (year % 100) == 0: if (year % 400) == 0: Feb = 29 else: Feb = 28 else: Feb = 29 else: Feb = 28 mon = int(birthday[4:6]) if mon == 1: N_day = (F_day + Day)%60 elif mon == 2: N_day = (F_day + 31 + Day)%60 elif mon == 3: N_day = (F_day + 31 + Feb + Day)%60 elif mon == 4: N_day = (F_day + 31 + Feb + 31 + Day)%60 elif mon == 5: N_day = (F_day + 31 + Feb + 31 + 30 + Day)%60 elif mon == 6: N_day = (F_day + 31 + Feb + 31 + 30 + 31 + Day)%60 elif mon == 7: N_day = (F_day + 31 + Feb + 31 + 30 + 31 + 30 + Day)%60 elif mon == 8: N_day = (F_day + 31 + Feb + 31 + 30 + 31 + 30 + 31 + Day)%60 elif mon == 9: N_day = (F_day + 31 + Feb + 31 + 30 + 31 + 30 + 31 + 31 + Day)%60 elif mon == 10: N_day = (F_day + 31 + Feb + 31 + 30 + 31 + 30 + 31 + 31 + 30 + Day)%60 elif mon == 11: N_day = (F_day + 31 + Feb + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + Day)%60 else : N_day = (F_day + 31 + Feb + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + Day)%60 print(tiangan_3[N_day%10-1],dizhi_3[N_day%12-1])

          四、時干支算法

          tiangan_4 = ['甲','乙','丙','丁','戊','己','庚','辛','壬','癸'] dizhi_4 = ["丑","寅","卯","辰","巳","午","未","申","酉","戌","亥","子"] H = int(birthday[8:10]) if H == 1 or H == 2: H_dz = 1 elif H == 3 or H == 4: H_dz = 2 elif H == 5 or H == 6: H_dz = 3 elif H == 7 or H == 8: H_dz = 4 elif H == 9 or H == 10: H_dz = 5 elif H == 11 or H == 12: H_dz = 6 elif H == 13 or H == 14: H_dz = 7 elif H == 15 or H == 16: H_dz = 8 elif H == 17 or H == 18: H_dz = 9 elif H == 19 or H == 20: H_dz = 10 elif H == 21 or H == 22: H_dz = 11 else : H_dz = 12 #時天干 H_tg = ((N_day%10) * 2 + int(H/2) - 1)%10 print(tiangan_4[H_tg-1],dizhi_4[H_dz-1])

          綜上即可得到對應(yīng)的生辰八字!



          【本文地址】

          公司簡介

          聯(lián)系我們

          今日新聞

          推薦新聞

          專題文章
            CopyRight 2018-2019 實(shí)驗(yàn)室設(shè)備網(wǎng) 版權(quán)所有
            黄色免费网站在线看,韩国精品在线观看,韩国美女一区二区,99国产热 漳平市| 合肥市| 织金县| 丹东市| 鄂托克前旗| 嵊泗县| 仁怀市| 五莲县| 永登县| 崇左市| 永嘉县| 山阴县| 云南省| 六安市| 娱乐| 永川市| 鱼台县| 铁岭市| 江门市| 浮山县| 巴南区| 库伦旗| 永修县| 孟连| 株洲县| 三穗县| 高邑县| 章丘市| 神木县| 成安县| 隆子县| 永泰县| 满洲里市| 民权县| 余江县| 抚远县| 宿州市| 晋州市| 潼南县| 巴彦县| 青海省| http://444 http://444 http://444 http://444 http://444 http://444