【小六壬占卜代码】

小六壬占卜代码

    • 【代码逻辑】
    • 【使用方法】
    • 【ChatGPT 直接运行】
    • 【ChatGPT询问进阶】

【代码逻辑】

  1. 将阳历转换成阴历
  2. 将时间转换为时辰和数字
  3. 根据这些时间输出结果
import datetime
import lunarcalendar

# 第一个函数:阳历转换为阴历
def solar_to_lunar(year, month, day):
    # 假设你已经安装了 `lunarcalendar` 库来处理阳历到阴历的转换
    solar_date = datetime.date(year, month, day)
    lunar_date = lunarcalendar.SolarDate.from_date(solar_date).get_lunar()
    # 获取阴历年月日
    return f"{lunar_date.year}{lunar_date.month}{lunar_date.day}日", lunar_date.month, lunar_date.day

# 第二个函数:时间转换为时辰和数字
def time_to_chinese_hour(hour, minute):
    # 定义时辰与时间的对应关系
    chinese_hours = [
        ("子时", 23, 1),  # 23:00 - 00:59
        ("丑时", 1, 2),   # 01:00 - 02:59
        ("寅时", 3, 3),   # 03:00 - 04:59
        ("卯时", 5, 4),   # 05:00 - 06:59
        ("辰时", 7, 5),   # 07:00 - 08:59
        ("巳时", 9, 6),   # 09:00 - 10:59
        ("午时", 11, 7),  # 11:00 - 12:59
        ("未时", 13, 8),  # 13:00 - 14:59
        ("申时", 15, 9),  # 15:00 - 16:59
        ("酉时", 17, 10), # 17:00 - 18:59
        ("戌时", 19, 11), # 19:00 - 20:59
        ("亥时", 21, 12), # 21:00 - 22:59
    ]

    for chinese_hour, start_hour, number in chinese_hours:
        if start_hour <= hour < start_hour + 2:
            return f"{hour}:{minute:02d} 属于 {chinese_hour},对应的数字是 {number}", number
    
    # 如果时间在 23:00 - 00:59
    return f"{hour}:{minute:02d} 属于 子时,对应的数字是 1", 1

# 第三个函数:根据n1, n2, n3 获取元素
def get_elements(n1, n2, n3):
    elements = ["大安", "留连", "速喜", "赤口", "小吉", "空亡", "病符", "桃花", "天德"]

    # 从“大安”开始,获取对应的元素
    first_index = (n1 - 1) % len(elements)
    second_index = (n1 + n2 - 2) % len(elements)
    third_index = (n1 + n2 + n3 - 3) % len(elements)

    return elements[first_index], elements[second_index], elements[third_index]

# 综合函数:根据输入的阳历日期和时间获取最终结果
def get_result_from_solar_date(year, month, day, hour, minute):
    # 1. 获取阴历日期
    lunar_date_str, lunar_month, lunar_day = solar_to_lunar(year, month, day)
    print(f"阴历日期为: {lunar_date_str}")
    
    # 2. 获取时辰和对应的数字
    time_result, hour_number = time_to_chinese_hour(hour, minute)
    print(time_result)
    
    # 3. 使用提取出的阴历月份、日期和时辰数字,调用 get_elements
    result = get_elements(lunar_month, lunar_day, hour_number)
    
    return result

# 示例调用
year = 2024
month = 9
day = 24
hour = 19
minute = 42

# 获取结果
final_result = get_result_from_solar_date(year, month, day, hour, minute)
print("最终结果为:", final_result)

【使用方法】

  1. 可以直接复制到 ChatGPT中运行,prompt :“请你运行上面的代码,帮我预测 , 2024.9.22, 19:42 的最终输出” (修改阳历时间)
  2. 复制代码到 python 中运行,(需要安装对应的库),输入“year, month, day, hour, minute
  3. 复制代码到 python 中运行,(需要安装对应的库),使用下面的函数对阳历时间进行解析 输入示例:“2024.9.22, 19:42” (逗号是英文逗号,逗号后面有一个空格)
def parse_datetime(datetime_str):
    date_part, time_part = datetime_str.split(', ')
    year, month, day = map(int, date_part.split('.'))
    hour, minute = map(int, time_part.split(':'))
    return year, month, day, hour, minute

【ChatGPT 直接运行】

""
import datetime
import lunarcalendar

# 第一个函数:阳历转换为阴历
def solar_to_lunar(year, month, day):
    # 假设你已经安装了 `lunarcalendar` 库来处理阳历到阴历的转换
    solar_date = datetime.date(year, month, day)
    lunar_date = lunarcalendar.SolarDate.from_date(solar_date).get_lunar()
    # 获取阴历年月日
    return f"{lunar_date.year}{lunar_date.month}{lunar_date.day}日", lunar_date.month, lunar_date.day

# 第二个函数:时间转换为时辰和数字
def time_to_chinese_hour(hour, minute):
    # 定义时辰与时间的对应关系
    chinese_hours = [
        ("子时", 23, 1),  # 23:00 - 00:59
        ("丑时", 1, 2),   # 01:00 - 02:59
        ("寅时", 3, 3),   # 03:00 - 04:59
        ("卯时", 5, 4),   # 05:00 - 06:59
        ("辰时", 7, 5),   # 07:00 - 08:59
        ("巳时", 9, 6),   # 09:00 - 10:59
        ("午时", 11, 7),  # 11:00 - 12:59
        ("未时", 13, 8),  # 13:00 - 14:59
        ("申时", 15, 9),  # 15:00 - 16:59
        ("酉时", 17, 10), # 17:00 - 18:59
        ("戌时", 19, 11), # 19:00 - 20:59
        ("亥时", 21, 12), # 21:00 - 22:59
    ]

    for chinese_hour, start_hour, number in chinese_hours:
        if start_hour <= hour < start_hour + 2:
            return f"{hour}:{minute:02d} 属于 {chinese_hour},对应的数字是 {number}", number
    
    # 如果时间在 23:00 - 00:59
    return f"{hour}:{minute:02d} 属于 子时,对应的数字是 1", 1

# 第三个函数:根据n1, n2, n3 获取元素
def get_elements(n1, n2, n3):
    elements = ["大安", "留连", "速喜", "赤口", "小吉", "空亡", "病符", "桃花", "天德"]

    # 从“大安”开始,获取对应的元素
    first_index = (n1 - 1) % len(elements)
    second_index = (n1 + n2 - 2) % len(elements)
    third_index = (n1 + n2 + n3 - 3) % len(elements)

    return elements[first_index], elements[second_index], elements[third_index]

# 综合函数:根据输入的阳历日期和时间获取最终结果
def get_result_from_solar_date(year, month, day, hour, minute):
    # 1. 获取阴历日期
    lunar_date_str, lunar_month, lunar_day = solar_to_lunar(year, month, day)
    print(f"阴历日期为: {lunar_date_str}")
    
    # 2. 获取时辰和对应的数字
    time_result, hour_number = time_to_chinese_hour(hour, minute)
    print(time_result)
    
    # 3. 使用提取出的阴历月份、日期和时辰数字,调用 get_elements
    result = get_elements(lunar_month, lunar_day, hour_number)
    
    return result

# 示例调用
year = 2024
month = 9
day = 24
hour = 19
minute = 42

# 获取结果
final_result = get_result_from_solar_date(year, month, day, hour, minute)
print("最终结果为:", final_result)
"""
请你详细分析理解上面的代码。请你帮我运行上面的代码,帮我预测, ”2024.9.22, 19:42“ 的最终输出。请确保结果是准确的,不能出现失误。感谢你专业的帮助。

【ChatGPT询问进阶】

请你分析上面的输出。请你学习这个领域所有的相关知识。帮我分析[“大安”, “留连”, “速喜”, “赤口”, “小吉”, “空亡”, “病符”, “桃花”, “天德”]的详细含义。
请你分析上面代码的输出,并结合该领域,这些输出的详细含义帮我进行详细分析。
我要预测的事情是“ XXXXXXXX ”,请你结合前面代码的输出和该领域的专家知识,帮我分析这件事情。
感谢你专业的帮助。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/882348.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python 连接mysql数据库,并且执行查询

之前一直在写Java&#xff0c;但是随着python的崛起&#xff0c;自己也被慢慢的带入到了这样的一个阵营&#xff0c;学习python&#xff0c;了解机器学习 曾经有一个.... 不谈曾经&#xff0c;现在的我是一个小菜鸟&#xff0c;用学习Java实现业务的需求来学习python 项目的目…

科研绘图系列:R语言树结构聚类热图(cluster heatmap)

文章目录 介绍加载R包导入数据数据预处理画图修改图形导出数据系统信息介绍 热图结合树结构展示聚类结果通常用于展示数据集中的模式和关系,这种图形被称为聚类热图或层次聚类热图。在这种图中,热图部分显示了数据矩阵的颜色编码值,而树结构(通常称为树状图或聚类树)则显…

iptables限制网速

1、使用hashlimit来限速 #从eth0网卡进入INPUT链数据&#xff0c;使用模块hashlimit 限制网速为100kb/s或2mb/s,超过限制的数据包会被DROP。OUTPUT链同理&#xff0c;mode为srcip&#xff0c;有4个mode选项: srcip&#xff08;默认匹配每个源地址IP&#xff0c;配置指定源地址…

计算机网络33——文件系统

1、chmod 2、chown 需要有root权限 3、link 链接 4、unlink 创建临时文件&#xff0c;用于非正常退出 5、vi vi可以打开文件夹 ../是向外一个文件夹 6、ls ls 可以加很多路径&#xff0c;路径可以是文件夹&#xff0c;也可以是文件 ---------------------------------…

Tcping:一款实用的端口存活检测工具

简介 tcping 是一个基于TCP协议的网络诊断工具,通过发送 TCP SYN/ACK包来检测目标主机的端口状态。 官网:tcping.exe - ping over a tcp connection 优点: (1)监听服务器端口状态:tcping 可以检测指定端口的状态,默认是80端口,也可以指定其他端口。 (2)显示ping返…

桌面便签哪个好用?好用的便签软件推荐?

随着信息技术的发展&#xff0c;我们的生活方式也发生了翻天覆地的变化。从纸质笔记本到电子便签&#xff0c;这不仅仅是载体的转换&#xff0c;更是思维习惯的一次革新。在这个数字时代&#xff0c;如何利用科技工具来辅助我们更好地管理时间和信息&#xff0c;成为了值得探讨…

Java刷题知识总结(一)

1.局部变量参与运算前是必须要初始化的&#xff0c;比如下面的代码就会编译出错&#xff0c;提示y必须要初始化。 public static void main(String[] args) {int x 1;int y;int z x y; } 2.ArrayList和Vector主要区别是什么&#xff1f; A Vector与ArrayList一样&#xf…

计算机毕业设计 扶贫助农系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…

记一次Apache点击startup立马闪退的修复

人们总是在靠近幸福时患得患失 --生菜特斯拉 这两天频繁在各个虚拟机中使用apache搭建服务&#xff0c;但是时而会出现点击startup.bat启动脚本后立马出现闪退&#xff0c;所以记录一下。 一、环境复现 实验器材 1、win10虚拟机 2、apache项目 3、JDK&#xff08;1.8&am…

Linux高级I/O:多路转接模型

目录 一.常见的IO模型介绍二.多路转接I/O1.select1.1.函数解析1.2. select特点和缺点1.3.基于 select 的多客户端网络服务器 2.poll2.1.poll函数解析2.2.poll特点和缺点2.3.基于poll的tcp服务器 3.epoll3.1.系列函数解析3.2.epoll原理解析2.3.基于 select 的多客户端网络服务器…

Java 入门指南:JVM(Java虚拟机)—— Java 类加载器详解

类加载器 类加载器&#xff08;Class Loader&#xff09;是 Java 虚拟机&#xff08;JVM&#xff09;的一部分&#xff0c;它的作用是将类的字节码文件&#xff08;.class 文件&#xff09;从磁盘或其他来源加载到 JVM 中。类加载器负责查找和加载类的字节码文件&#xff0c;并…

BEV学习--Nuscenes数据集解读

一、Nuscenes数据集简介 Nuscenes数据的采集来自不同城市的1000个场景中&#xff0c;采集车上配备了完善的传感器&#xff0c;包括6个相机&#xff08;CAM&#xff09;、1个激光雷达&#xff08;LIDAR&#xff09;、5个毫米波雷达&#xff08;RADAR&#xff09;、IMU和GPS&…

论文(六):Fire-Net: A Deep Learning Framework for Active Forest Fire Detection

文章目录 1.Introduction2.Study Area2.1Landsat-8 Dataset2.2Inventory data 3.Methodology3.1Image Pre-processing3.2Proposed Deep Learning Architecture (Fire-Net)3.2.1Convolution Layers3.2.2 Evaluation Indices/methods or accuracy assessment. 4.Results4.1 Austr…

新一代图像生成E2E FT:深度图微调突破

文章地址&#xff1a;Fine-Tuning Image-Conditional Diffusion Models is Easier than You Think 项目主页&#xff1a;https://gonzalomartingarcia.github.io/diffusion-e2e-ft/ 代码地址&#xff1a;https://github.com/VisualComputingInstitute/diffusion-e2e-ft 机构&am…

SpringBoot 整合 apache fileupload 轻松实现文件上传与下载(通用版)

我们以Thymeleaf页面模板引擎为例&#xff0c;简单介绍利用 apache fileupload 工具实现文件上传的功能。 2.1、添加相关依赖包 首先创建一个基础的 Spring Boot 项目&#xff0c;并引入相关的依赖包。 2.2、添加相关配置参数 2.3、文件上传示例 对应文件上传的Controller类&…

传知代码-基于多尺度动态卷积的图像分类

代码以及视频讲解 本文所涉及所有资源均在传知代码平台可获取 概述 在计算机视觉领域&#xff0c;图像分类是非常重要的任务之一。近年来&#xff0c;深度学习的兴起极大提升了图像分类的精度和效率。本文将介绍一种基于动态卷积网络&#xff08;Dynamic Convolutional Netw…

计算机网络17——IM聊天系统——客户端核心处理类框架搭建

目的 拆开客户端和服务端&#xff0c;使用Qt实现客户端&#xff0c;VS实现服务端 Qt创建项目 Qt文件类型 .pro文件&#xff1a;配置文件&#xff0c;决定了哪些文件参与编译&#xff0c;怎样参与编译 .h .cpp .ui&#xff1a;画图文件 Qt编码方式 Qt使用utf-8作为编码方…

【delphi】正则判断windows完整合法文件名,包括路径

在 Delphi 中&#xff0c;可以使用正则表达式来检查 Windows 文件名称或路径是否合法。合法的文件名和路径要求符合以下几点&#xff1a; 禁止的字符&#xff1a;文件名和路径不能包含以下字符&#xff1a;<, >, :, ", /, \, |, ?, *。文件名不能以空格或点结束。…

idea多模块启动

文章目录 idea多模块启动2018版本的idea2019版本的idea idea多模块启动 2018版本的idea 1.首先看一下view> Tool Windows下有没有Run Dashboard 如果有&#xff0c;点击一下底部的窗口就会出现 如果不存在&#xff0c;执行下一步 2.查看自己项目的工作空间位置 点击 File&…

Java中的事件(动作监听-ActionListener)

&#xff08;一&#xff09;、ActionListener接口 ActionListener接口用于处理用户界面上的动作事件&#xff0c;例如&#xff1a;按钮点击、菜单选择等。实现ActionListener接口需要重写actionPerformed(ActionEvent e)方法&#xff0c;该方法会在动作发生时被调用。 &#…