Python 用生日算生辰五行比例

简介: Python 用生日算生辰五行比例
import sxtwl
import argparse
import collections
description = '''
'''
Gan = ["甲", "乙", "丙", "丁", "戊", "己", "庚", "辛", "壬", "癸"]
Zhi = ["子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥"]
wuxingDicForTiangan = {
    "甲": "木",
    "乙": "木",
    "丙": "火",
    "丁": "火",
    "戊": "土",
    "己": "土",
    "庚": "金",
    "辛": "金",
    "壬": "水",
    "癸": "水"
}
wuxingDicForDizhi = {
    "子": "水",
    "丑": "土",
    "寅": "木",
    "卯": "木",
    "辰": "土",
    "巳": "火",
    "午": "火",
    "未": "土",
    "申": "金",
    "酉": "金",
    "戌": "土",
    "亥": "水"
}
def getWuXing(zhus):
    wuxingList = []
    countForJin = 0
    countForMu = 0
    countForShui = 0
    countForHuo = 0
    countForTu = 0
    for bazi in zhus:
        wuxingList.append(wuxingDicForTiangan[bazi[0]])
        wuxingList.append(wuxingDicForDizhi[bazi[1]])
    for wuxing in wuxingList:
        if wuxing == "金":
            countForJin = countForJin + 1
        elif wuxing == "木":
            countForMu = countForMu + 1
        elif wuxing == "水":
            countForShui = countForShui + 1
        elif wuxing == "火":
            countForHuo = countForHuo + 1
        else:
            countForTu = countForTu + 1
    scoreForJin = round(countForJin / 8, 2)
    scoreForMu = round(countForMu / 8, 2)
    scoreForShui = round(countForShui / 8, 2)
    scoreForHuo = round(countForHuo / 8, 2)
    scoreForTu = round(countForTu / 8, 2)
    return (scoreForJin, scoreForMu, scoreForShui, scoreForHuo, scoreForTu)
def main():
    parser = argparse.ArgumentParser(description=description,
                                 formatter_class=argparse.RawTextHelpFormatter)
    parser.add_argument('year', action="store", help=u'year')
    parser.add_argument('month', action="store", help=u'month')
    parser.add_argument('day', action="store", help=u'day')
    parser.add_argument('time', action="store", help=u'time')
    options = parser.parse_args()
    Gans = collections.namedtuple("Gans", "year month day time")
    Zhis = collections.namedtuple("Zhis", "year month day time") 
    lunar = sxtwl.Lunar();
    day = lunar.getDayBySolar(
            int(options.year), int(options.month), int(options.day))
    gz = lunar.getShiGz(day.Lday2.tg, int(options.time))
    gans = Gans(year=Gan[day.Lyear2.tg], month=Gan[day.Lmonth2.tg], 
                day=Gan[day.Lday2.tg], time=Gan[gz.tg])
    zhis = Zhis(year=Zhi[day.Lyear2.dz], month=Zhi[day.Lmonth2.dz], 
                day=Zhi[day.Lday2.dz], time=Zhi[gz.dz]) 
    zhus = [item for item in zip(gans, zhis)]
    wuxing = getWuXing(zhus)
    print(zhus)
    print("五行指数  金:%.2f,木:%.2f,水:%.2f,火:%.2f,土:%.2f" % (wuxing))
if __name__ == '__main__':
    main()
目录
相关文章
|
数据采集 数据可视化 Python
在Python中进行数据清洗和预处理缺失值处理查看缺失值比例
在Python中进行数据清洗和预处理缺失值处理查看缺失值比例
415 5
|
Python
python源码实例之根据生日预测星座和属相以及属相对应年份(附源码 可供学习)
python源码实例之根据生日预测星座和属相以及属相对应年份(附源码 可供学习)
385 1
|
存储 数据安全/隐私保护 开发者
Python实现登陆界面+生日界面
Python实现登陆界面+生日界面
198 0
|
存储 程序员 Python
使用Python实现自动生日祝福
使用Python实现自动生日祝福
447 0
使用Python实现自动生日祝福
|
Python
Python 按比例获取样本数据或执行任务
Python 按比例获取样本数据或执行任务
273 0
|
IDE 开发工具 Python
10分钟教你用Python玩转微信之好友性别比例统计分析
10分钟教你用Python玩转微信之好友性别比例统计分析
1184 0
10分钟教你用Python玩转微信之好友性别比例统计分析
|
机器学习/深度学习 测试技术 C++
Python迎来30岁生日,先驱Pablo Galindo:没想到Python这么流行
Python 30岁了!就在生日前夕,Python软件基金会下属Python指导委员会中的成员——Pablo Galindo对这位「举世瞩目」superstar发表了评估。
183 0
Python迎来30岁生日,先驱Pablo Galindo:没想到Python这么流行
|
Python 容器
Python Qt GUI设计:如何调整组件布局比例?(拓展篇—1)
Python Qt GUI设计:如何调整组件布局比例?(拓展篇—1)
Python Qt GUI设计:如何调整组件布局比例?(拓展篇—1)
|
Python
Python 技术篇-用PIL库实现等比例压缩、缩小图片实例演示
Python 技术篇-用PIL库实现等比例压缩、缩小图片实例演示
1107 0
Python 技术篇-用PIL库实现等比例压缩、缩小图片实例演示
|
5月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
497 102