Python玄学

news2025/2/4 19:15:36

过年期间无聊的看了看DY直播,也是迷上玄学了。突然想着为啥要自己掐指算,我这🐷脑哪记得到那么多东西啊。然后,就捣鼓捣鼓了一些玩意儿。留个纪念。
注:就是一个玄学推动学习,部分内容不必当真,本人概不负责哈 ( :

一、计算天干地支年

# coding=utf-8
"""
    @project: calTD
    @file: cal.py
    @Author:John
    @date:2025/2/3 13:38
"""
def get_gan_zhi(_year):
    # 天干
    tian_gan = ['甲', '乙', '丙', '丁', '戊', '己', '庚', '辛', '壬', '癸']
    # 地支
    di_zhi = ['子', '丑', '寅', '卯', '辰', '巳', '午', '未', '申', '酉', '戌', '亥']

    # 计算天干地支索引
    gan_index = (_year - 4) % 10
    zhi_index = (_year - 4) % 12

    return f'{tian_gan[gan_index]}{di_zhi[zhi_index]}'


# 示例:计算2025年的天干地支
year = 2025
print(f"{year}年的天干地支是:{get_gan_zhi(year)}")
# 2025年的天干地支是:乙巳

二、寻找失物

看看视频

这个玩意儿就比较玄学了。先把几个数字排序

农历月 农历日  时辰的序号

然后去推算。具体怎么推算,看上面视频链接。不懂没关系咱照着做就行。

然后去推算一个主体,客体。最后根据失物口诀去找。

我12.23掉了门禁卡,这么看应该是那天成都南边开年会掉的吧。
在这里插入图片描述

# coding=utf-8
"""
    @project: calTD
    @file: find.py
    @Author:John
    @date:2025/2/3 14:09
"""
from datetime import datetime
from lunarcalendar import Converter, Solar


def get_hour_index(branch):
    # 定义时辰及其对应的索引
    hour_branches = ['子', '丑', '寅', '卯', '辰', '巳', '午', '未', '申', '酉', '戌', '亥']

    try:
        index = hour_branches.index(branch)
        # print(f"{branch}对应的索引是: {index + 1}")
        return index + 1
    except ValueError:
        return None


def determine_chinese_hour(current_time):
    # 确定时辰范围
    chinese_hours = {
        '子': ('23:00', '01:00'),
        '丑': ('01:00', '03:00'),
        '寅': ('03:00', '05:00'),
        '卯': ('05:00', '07:00'),
        '辰': ('07:00', '09:00'),
        '巳': ('09:00', '11:00'),
        '午': ('11:00', '13:00'),
        '未': ('13:00', '15:00'),
        '申': ('15:00', '17:00'),
        '酉': ('17:00', '19:00'),
        '戌': ('19:00', '21:00'),
        '亥': ('21:00', '23:00')
    }
    # 获取当前时间的小时和分钟
    hour = current_time.hour
    minute = current_time.minute

    # 将时间转换为24小时制的分钟数
    time_in_minutes = hour * 60 + minute

    # 遍历时辰范围,找到对应的时间段
    for branch, (start, end) in chinese_hours.items():
        start_time = int(start.split(':')[0]) * 60 + int(start.split(':')[1])
        end_time = int(end.split(':')[0]) * 60 + int(end.split(':')[1])

        if start_time > end_time:
            if time_in_minutes >= start_time or time_in_minutes < end_time:
                return branch, f"{start}-{end}"
        else:
            if start_time <= time_in_minutes < end_time:
                return branch, f"{start}-{end}"

    # 如果没有匹配到任何时间段(理论上不会发生)
    return None, None


def get_chinese_hour(current_time=None):
    if current_time is None:
        current_time = datetime.now()

    # print(current_time.year, current_time.month, current_time.day)
    # 获取农历日期
    solar_date = Solar(current_time.year, current_time.month, current_time.day)
    lunar_date = Converter.Solar2Lunar(solar_date)

    # 获取时辰地支
    hour = current_time.hour
    # 获取对应的时辰和时间范围
    branch, time_range = determine_chinese_hour(current_time)
    branch_index = get_hour_index(branch)

    print(f"阳历时间:{current_time.strftime('%Y-%m-%d %H:%M:%S')}")
    print(f"农历日期:{lunar_date.year}{lunar_date.month}{lunar_date.day}")
    print(f"时辰:{branch}时")
    # print(f"时辰范围:{time_range}")
    return lunar_date, branch_index


def get_six_yi_state(month, day, _time):
    # 小六壬六仪状态
    six_yi_states = ['大安', '留连', '速喜', '赤口', '小吉', '空亡']
    # 根据年份计算六仪状态
    month_state = (month - 1) % 6
    day_state = (month_state + day - 1) % 6
    time_state = (day_state + _time - 1) % 6
    print(
        f"六仪:月宫:{six_yi_states[month_state]},日宫:{six_yi_states[day_state]},时宫:{six_yi_states[time_state]}")
    print(f'主体:{six_yi_states[time_state]},客体:{six_yi_states[day_state]}')
    return (six_yi_states[day_state],six_yi_states[time_state])


def get_result(res):
    rules = {
        ('大安',
         '大安'): '失物家中寻。此卦象预示着,若你丢失了物品,它很可能仍在家中某个角落。不妨在家中仔细搜寻,或许就能找到它。',
        ('大安',
         '留连'): '失物西北去。这意味着,失物可能朝西北方向移动了。若你记得丢失物品的大致时间或地点,不妨往西北方向找找看。',
        ('大安',
         '速喜'): '失物当日见。此卦象颇为吉祥,预示着你在当天就有可能找回失物。不妨回忆一下丢失物品的场景,或许就能迅速定位到它的位置。',
        ('大安',
         '赤口'): '失物不用找。然而,这并非完全意义上的好消息。此卦象或许在告诉你,失物可能已经难以寻回,或是寻找过程中会面临诸多困难。但莫要气馁,命运之事难以捉摸,说不定在某个不经意的瞬间,你就能与失物重逢。',
        ('大安',
         '小吉'): '失物不出门。这预示着失物仍在家中或附近区域,并未被带至远方。因此,在寻找时,应着重在住所周围或当前位置仔细搜索。',
        ('大安',
         '空亡'): '失物无影踪。空亡之卦象征着虚无、不存在,与大安相加,或许意味着失物已经彻底消失或难以寻觅。但即便如此,也莫要放弃希望,缘分之事难以捉摸,说不定在某个未知的时刻,你就能与失物再次相遇。',

        # 留连组合规则
        ('留连',
         '大安'): '失物家中藏。此卦象表明,失物可能被遗忘或放置在家中某个角落,等待被发现。你不妨在家中仔细搜寻,特别是那些平时不太留意的地方,说不定就能找到失物。',
        ('留连',
         '速喜'): '失物三天现。这意味着,失物可能在接下来的三天内被发现或寻回。在此期间,你不妨保持警惕,留意周围环境及线索,说不定就能迅速定位到失物的位置。',
        ('留连',
         '赤口'): '失物准丢失。此卦象颇为不吉,预示着失物可能已经确实丢失,或是处于不良状态。但莫要气馁,即便希望渺茫,也值得你尽力去寻找一番。',
        ('留连',
         '小吉'): '失物东南去。这表示,失物可能朝东南方向移动了。在寻找时,你可以着重关注东南方向的区域,如东南方的街道、店铺等公共场所,说不定就能有所发现。',
        ('留连',
         '空亡'): '失物不见面。此卦象象征着失物可能已经彻底消失,或是难以寻回。即便如此,也莫要轻易放弃希望,缘分之事难以捉摸,说不定在某个未知的时刻,你就能与失物再次相遇。',
        ('留连',
         '留连'): '失物在南方。当两个留连卦象相连时,预示着失物可能位于南方。你可以试着在南方区域进行仔细搜寻,特别是以失物地点为中心的南方范围,说不定就能找到它。',

        # 速喜组合规则的修改内容
        ('速喜',
         '大安'): '失物不会丢。此卦象颇为吉祥,预示着失物并未远离,可能仍在家中或附近区域。你不妨仔细搜寻一番,说不定就能迅速找到它。',
        ('速喜',
         '留连'): '失物无消息。此卦象则有些不吉,预示着关于失物的信息变得模糊,寻找起来可能会颇为困难。但莫要气馁,命运之事难以捉摸,说不定在某个不经意的瞬间,你就能得到关于失物的线索。',
        ('速喜',
         '赤口'): '失物往正北。这意味着,失物可能正朝正北方向移动。在寻找时,你不妨关注正北方向的区域,如北方的街道、公园等公共场所,说不定就能有所发现。',
        ('速喜',
         '小吉'): '失物在家里。此卦象同样吉祥,预示着失物可能仍在家中某个角落。你不妨在家中仔细搜寻一番,特别是那些平时不太留意的地方,如床底、沙发缝隙等,说不定就能找到它。',
        ('速喜',
         '空亡'): '失物不久见。此卦象虽有些波折,但预示着失物将在不久后出现或被找到。在此期间,你不妨保持耐心与信心,相信缘分自会指引你找到失物。',
        ('速喜',
         '速喜'): '失物落正南。此卦象颇为吉祥,预示着失物很可能位于正南方向。在寻找时,你不妨着重关注正南方向的区域,如南方的街道、公园、商场等公共场所,说不定就能迅速定位到失物的位置。',

        # 赤口组合规则的修改内容
        ('赤口',
         '大安'): '失物东北找。此卦象预示着,若你丢失了物品,它可能遗落在东北方向。不妨试着往那个方向去寻找,或许能有所收获。',
        ('赤口',
         '留连'): '失物不回还。此卦象则有些不吉,它似乎在告诉你,失物可能已经难以寻回,或是被某人带走且无意归还。但即便如此,也莫要轻易放弃,命运之事难以捉摸,说不定在某个未知的时刻,你就能与失物重逢。',
        ('赤口',
         '速喜'): '失物有着落。此卦象颇为吉祥,它预示着关于失物的消息即将传来,或是你很快就能找到它的下落。保持耐心与信心,相信缘分自会指引你找到失物。',
        ('赤口',
         '赤口'): '失物正西找。当两个赤口卦象相连时,预示着失物可能位于正西方向。你可以试着在正西方向的区域进行仔细搜寻,说不定就能发现它的踪迹。',
        ('赤口',
         '小吉'): '失物无信息。此卦象则表明,关于失物的线索或消息变得模糊不清,寻找起来可能会颇为困难。但莫要气馁,保持冷静与耐心,说不定在某个不经意的瞬间,你就能得到关于失物的关键线索。',
        ('赤口',
         '空亡'): '失物远走高飞。此卦象颇为不吉,它预示着失物可能已经远离了你所在的地方,或是被带到了一个难以寻觅的角落。即便如此,也莫要轻易放弃希望,命运之事难以捉摸,说不定在某个未知的时刻,你就能与失物再次相遇。',

        # 小吉组合规则的修改内容
        ('小吉',
         '大安'): '失物自己出。此卦象预示着,若你丢失了物品,它很可能会自己出现,或是被某个人无意间送回。你不必过于担心,保持平和的心态,说不定失物就会在不经意间回到你的身边。',
        ('小吉',
         '留连'): '失物上西南。这意味着,失物可能朝西南方向移动了。在寻找时,你不妨关注西南方向的区域,或许能在那边找到它。',
        ('小吉',
         '速喜'): '失物在院里。此卦象表明,失物很可能就在你家的院子里,或是附近的某个地方。仔细搜寻一番,说不定就能迅速找到它。',
        ('小吉',
         '赤口'): '失物丢了手。然而此卦象并非完全凶兆,它或许在告诉你,失物虽然已经被别人拿走,但仍有找回的可能。你可以试着回忆一下丢失物品时的场景,或是向周围的人打听一下,说不定就能得到关于失物的线索。',
        ('小吉',
         '小吉'): '失物在西南。两个吉祥之兆相加,预示着失物很可能就在西南方向。你不妨前往那个方向仔细搜寻,说不定会有意外的收获。',
        ('小吉',
         '空亡'): '失物正东找。虽然空亡之卦往往象征着虚无、难以捉摸,但与小吉相加,却给出了一丝希望。失物可能正藏在东方的某个角落,等待你去发现。',

        # 空亡组合规则的修改内容
        ('空亡',
         '大安'): '失物反复间。此卦象预示着失物的情况颇为复杂,可能时而出现线索,时而又消失无踪。在寻找过程中,你可能会遇到诸多波折与反复,但莫要气馁,保持耐心与坚持,说不定在某个不经意的瞬间,你就能找到失物的下落。',
        ('空亡',
         '留连'): '失物永不还。此卦象颇为不吉,它似乎在告诉你,失物可能已经彻底消失,或是被带到了一个你无法触及的地方。即便你付出再多努力,也可能无法找回它。但即便如此,也莫要过于沮丧,命运之事难以捉摸,说不定在某个未知的时刻,你就能以某种方式与失物重逢。',
        ('空亡',
         '速喜'): '失物在家里。此卦象又给你带来了一丝希望,它预示着失物可能仍在家中某个角落,只是你尚未发现而已。不妨仔细搜寻家中的每一个角落,说不定就能找到它。',
        ('空亡',
         '赤口'): '失物往远走。此卦象预示着失物可能已经被带往了远方,寻找起来可能会颇为困难。但莫要轻易放弃希望,你可以试着扩大寻找范围,或是寻求他人的帮助与线索,说不定就能找到失物的下落。',
        ('空亡',
         '小吉'): '失物回家里。此卦象又给你带来了好消息,它预示着失物最终会回到你的身边。虽然具体时间和方式不确定,但你可以保持信心与期待,相信缘分自会指引失物归家。',
        ('空亡',
         '空亡'): '失物寻不见。当两个空亡卦象相连时,预示着失物可能已经彻底消失或难以找回。但即便如此,也莫要过于绝望,命运之事难以捉摸,说不定在某个未知的时刻,你就能以某种意想不到的方式与失物重逢。',

    }

    if res in rules:
        print(f"{rules[res]}")
    else:
        print("无法言说")


time_str = "2024-12-23 23:00:00"
lost_time = datetime.strptime(time_str, "%Y-%m-%d %H:%M:%S")
lunar_date, branch_index = get_chinese_hour(lost_time)

y = get_six_yi_state(lunar_date.month, lunar_date.day, branch_index)
get_result(y)

最后
假期快结束了,补药啊 😫😭

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

16.1.STM32F407ZGT6-CAN基础概念

参考&#xff1a; https://blog.csdn.net/sunlight_vip/article/details/128639144 前言&#xff1a; 学习总结CAN的知识点&#xff1a; 1.can是什么&#xff0c;历史由来和背景 2.can的物理层&#xff0c;链路层 3.初始化的流程和关键点 4.波特率怎么设置 5.can id怎么过滤 6…

【论文笔记】Fast3R:前向并行muti-view重建方法

众所周知&#xff0c;DUSt3R只适合做稀疏视角重建&#xff0c;与sapnn3r的目的类似&#xff0c;这篇文章以并行的方法&#xff0c;扩展了DUSt3R在多视图重建中的能力。 abstract 多视角三维重建仍然是计算机视觉领域的核心挑战&#xff0c;尤其是在需要跨不同视角实现精确且可…

使用VCS对Verilog/System Verilog进行单步调试的步骤

Verilog单步调试&#xff1a; System Verilog进行单步调试的步骤如下&#xff1a; 1. 编译设计 使用-debug_all或-debug_pp选项编译设计&#xff0c;生成调试信息。 我的4个文件&#xff1a; 1.led.v module led(input clk,input rst_n,output reg led );reg [7:0] cnt;alwa…

[ESP32:Vscode+PlatformIO]新建工程 常用配置与设置

2025-1-29 一、新建工程 选择一个要创建工程文件夹的地方&#xff0c;在空白处鼠标右键选择通过Code打开 打开Vscode&#xff0c;点击platformIO图标&#xff0c;选择PIO Home下的open&#xff0c;最后点击new project 按照下图进行设置 第一个是工程文件夹的名称 第二个是…

如何使用 DeepSeek API 结合 VSCode 提升开发效率

引言 在当今的软件开发领域&#xff0c;API 的使用已经成为不可或缺的一部分。DeepSeek 是一个强大的 API 平台&#xff0c;提供了丰富的功能和数据&#xff0c;可以帮助开发者快速构建和优化应用程序。而 Visual Studio Code&#xff08;VSCode&#xff09;作为一款轻量级但功…

Flutter使用Flavor实现切换环境和多渠道打包

在Android开发中通常我们使用flavor进行多渠道打包&#xff0c;flutter开发中同样有这种方式&#xff0c;不过需要在原生中配置 具体方案其实flutter官网个了相关示例&#xff08;https://docs.flutter.dev/deployment/flavors&#xff09;,我这里记录一下自己的操作 Android …

OpenAI 实战进阶教程 - 第四节: 结合 Web 服务:构建 Flask API 网关

目标 学习将 OpenAI 接入 Web 应用&#xff0c;构建交互式 API 网关理解 Flask 框架的基本用法实现 GPT 模型的 API 集成并返回结果 内容与实操 一、环境准备 安装必要依赖&#xff1a; 打开终端或命令行&#xff0c;执行以下命令安装 Flask 和 OpenAI SDK&#xff1a; pip i…

Hot100之堆

我们的PriorityQueue默认为最小堆&#xff0c;堆顶总是为最小 215数组中的第K个最大元素 题目 思路解析 暴力解法&#xff08;不符合时间复杂度&#xff09; 题目要求我们找到「数组排序后的第 k 个最大的元素&#xff0c;而不是第 k 个不同的元素」。「数组排序后的第 k …

KNIME:开源 AI 数据科学

KNIME&#xff08;Konstanz Information Miner&#xff09;是一款开源且功能强大的数据科学平台&#xff0c;由德国康斯坦茨大学的软件工程师团队开发&#xff0c;自2004年推出以来&#xff0c;广泛应用于数据分析、数据挖掘、机器学习和可视化等领域。以下是对KNIME的深度介绍…

Office / WPS 公式、Mathtype 公式输入花体字、空心字

注&#xff1a;引文主要看注意事项。 1、Office / WPS 公式中字体转换 花体字 字体选择 “Eulid Math One” 空心字 字体选择 “Eulid Math Two” 2、Mathtype 公式输入花体字、空心字 2.1 直接输入 花体字 在 mathtype 中直接输入 \mathcal{L} L \Large \mathcal{L} L…

建表注意事项(2):表约束,主键自增,序列[oracle]

没有明确写明数据库时,默认基于oracle 约束的分类 用于确保数据的完整性和一致性。约束可以分为 表级约束 和 列级约束&#xff0c;区别在于定义的位置和作用范围 复合主键约束: 主键约束中有2个或以上的字段 复合主键的列顺序会影响索引的使用&#xff0c;需谨慎设计 添加…

Ubuntu20.04 磁盘空间扩展教程

Ubuntu20.04 磁盘空间扩展教程_ubuntu20 gpart扩容-CSDN博客文章浏览阅读2w次&#xff0c;点赞38次&#xff0c;收藏119次。执行命令查看系统容量相关的数据&#xff1a;df -h当前容量为20G&#xff0c;已用18G&#xff08;96%&#xff09;&#xff0c;可用844M&#xff0c;可用…

冯诺依曼体系架构和操作系统的概念

1.冯诺依曼体系架构 计算机的硬件大部分都遵循冯诺依曼体系架构&#xff0c;其图示如下 这里的存储器指的是内存&#xff0c;是一种断电易失的设备。 速度快 而磁盘&#xff0c;是一种永久存储的设备&#xff0c;其属于外设既是输出设备又是输入设备。速度慢 而运算器是一种…

OpenGL学习笔记(六):Transformations 变换(变换矩阵、坐标系统、GLM库应用)

文章目录 向量变换使用GLM变换&#xff08;缩放、旋转、位移&#xff09;将变换矩阵传递给着色器坐标系统与MVP矩阵三维变换绘制3D立方体 & 深度测试&#xff08;Z-buffer&#xff09;练习1——更多立方体 现在我们已经知道了如何创建一个物体、着色、加入纹理。但它们都还…

Linux第105步_基于SiI9022A芯片的RGB转HDMI实验

SiI9022A是一款HDMI传输芯片&#xff0c;可以将“音视频接口”转换为HDMI或者DVI格式&#xff0c;是一个视频转换芯片。本实验基于linux的驱动程序设计。 SiI9022A支持输入视频格式有&#xff1a;xvYCC、BTA-T1004、ITU-R.656&#xff0c;内置DE发生器&#xff0c;支持SYNC格式…

测试工程师的DS使用指南

目录 引言DeepSeek在测试设计中的应用 2.1 智能用例生成2.2 边界值分析2.3 异常场景设计DeepSeek在自动化测试中的应用 3.1 脚本智能转换3.2 日志智能分析3.3 测试数据生成DeepSeek在质量保障体系中的应用 4.1 测试策略优化4.2 缺陷模式预测4.3 技术方案验证DeepSeek在测试效能…

Qt常用控件 输入类控件

文章目录 1.QLineEdit1.1 常用属性1.2 常用信号1.3 例子1&#xff0c;录入用户信息1.4 例子2&#xff0c;正则验证手机号1.5 例子3&#xff0c;验证输入的密码1.6 例子4&#xff0c;显示密码 2. QTextEdit2.1 常用属性2.2 常用信号2.3 例子1&#xff0c;获取输入框的内容2.4 例…

linux运行级别

运行级别&#xff1a;指linux系统在启动和运行过程中所处的不同的状态。 运行级别之间的切换&#xff1a;init (级别数) 示例&#xff1a; linux的运行级别一共有7种&#xff0c;分别是&#xff1a; 运行级别0&#xff1a;停机状态 运行级别1&#xff1a;单用户模式/救援模式…

数据结构课程设计(四)校园导航

4 校园导航 4.1 需求规格说明 【问题描述】 一个学校平面图&#xff0c;至少包括10个以上的场所&#xff0c;每个场所带有编号、坐标、名称、类别等信息&#xff0c;两个场所间可以有路径相通&#xff0c;路长&#xff08;耗时&#xff09;各有不同。要求读取该校园平面图&a…

嵌入式知识点总结 操作系统 专题提升(四)-上下文

针对于嵌入式软件杂乱的知识点总结起来&#xff0c;提供给读者学习复习对下述内容的强化。 目录 1.上下文有哪些?怎么理解? 2.为什么会有上下文这种概念? 3.什么情况下进行用户态到内核态的切换? 4.中断上下文代码中有哪些注意事项&#xff1f; 5.请问线程需要保存哪些…