BLG与T1谁会赢?python制作预测程序,结果显示,BLG将打败T1

决赛预测

2024英雄联盟全球总决赛

2024年英雄联盟全球总决赛,今天晚上(2024年11月2日22点)就要开始了!今年的总决赛的队伍是BLG与T1。当然一些老的lol玩家,现在可能对于lol关注不多,并不清楚这两个队伍。

其实,T1就是原先的SKTtelecom T1与Comcast合并以后得到的新的俱乐部,而现在T1的主力中单仍然是Faker!而BLG则是Bilibili Gaming,也就是哔哩哔哩的俱乐部。今年最为独特的是,时隔11年,又有“全华班”的队伍,进入到了决赛之中,而遇到的中单却是11年前的老对手Faker。

看过比赛的观众会发现,T1在前几场比赛中,几乎是横扫了对手,展现出了非常强大的实力,就现实情况而言,T1绝对是实力非常强大的对手,甚至很多人,都已经开始想“五冠”的事情了,仿佛这个冠军唾手可得,可以说,BLG的处境不容乐观。

至于对于总决赛的结果预测,这也并非是我自己想的,甚至可以说,是老的传统了。在去年2023年的全球总决赛之前,就有各种各样的“预言家”,根据自己的方法,预测了WBG与T1的比赛结果,众说纷纭。当然,自然是有的人预测对了,有的人预测错了。那么今年同样的,在开赛之前,我准备自己制作一个“预测”程序,来对结果进行预测。

 预测方法

要制作预测程序,自然要选择一种预测方法,这次,我要选择的是传统的“梅花易数”的占卜方法。

“梅花”的基本原理是通过“先天八卦数”,进行“起卦”。

然后,通过“卦”,得到卦的五行。

最后,根据五行的生克理论,判断“吉凶祸福”。

这种方法据说是从宋代就已经发明了,距今已经有千年的历史了,因此,接下来,我将通过python编程,还原这种古老的占卜方法,并对2024年英雄联盟全球总决赛的结果,进行预测。

需要注意的是:所有的占卜,预测方法,都是没有任何科学依据的,并不代表真实结果。

 梅花易数

起卦

梅花的起卦方式是多种多样的,因此,在这里我们只选择最传统,最可靠的“年月日时”起卦方法,如下所示

 这种起卦方式有一个缺点,就是每两小时最多预测一次,因为,每2个小时,卦才会变化一次,如果在短时间内进行多次预测,那么所有结果都是相同的,这显然是不可靠的。所以,该方法进行起卦,不能短时间内连续使用。

而这里用的年月日时,是农历,因此我们需要使用python的lunarcalendar库,如果你不了解的话,可以看看之前的文章,lunarcalendar库的使用

根据干支纪年法,今年2024年是“甲辰年”,其中,在“子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥”里面,辰是5,并且每12年,重新计算一轮(其实就是生肖啦)。

年月日时的占卜中,子时的计算通常是一个困难,传统上,子时是一天的开始,但是子时是晚上11点到1点。那么,如果现在是10月1日的晚上11点半,此时,应该算10月1日的子时,还是应该算10月2日的子时呢?

有人认为,如果11点算一天的开始,那么过了11点自然就算是第二天了,因此10月1日的11点半,应该是10月2日。

也有人认为,这种说法是没有道理的,日期更换应该是按照12点来计算,因此,12点以前,应该算10月1日的子时,12点以后,应该算10月2日的子时。

我们这里规定:按照现代的0点进行日期更换,因此,11点半算前一天的子时。

将卦对应到五行

乾是1,五行属金,因此1对应到金。

兑是2,五行属金,因此2对应到金。

离是3,五行属火,因此3对应到火。

震是4,五行属木,因此4对应到木。

巽是5,五行属木,因此5对应到木。

坎是6,五行属水,因此6对应到水。

艮是7,五行属土,因此7对应到土。

坤是8,五行属土,因此8对应到土。

因此,我们得到了对应表:

{1: "金", 2: "金", 3: "火", 4: "木", 5: "木", 6: "水", 7: "土", 8: "土"}

创建卦象

在卦中,有“阳爻”,与“阴爻”,有人说,二进制就是外国人看了我们八卦,才发明出来的。也就是,外国人将阳记做了1,将阴记做了0,因此才有了二进制。

不过,无论外国人看没看过八卦,但是,我们确实可以在程序中用1和0来记录八卦。

hexagram_dict = {"111": 1,"011": 2,"101": 3,"001": 4,"110": 5,"010": 6,"100": 7,"000": 8
}

取体卦与用卦

包含变爻的是用卦,不包含变爻的是体卦。

换而言之,如果爻是1-3,那么上卦是体卦,下卦是用卦。

如果爻是4-6,那么上卦是用卦,下卦是体卦。

取互卦与变卦

首先,我们将上卦与下卦合并为一个“叠卦”,然后取出其中234,与345,得到2个新卦,就是互卦了。

例如111与000,组合成111000,此时,两个互卦分别是110与100。

至于变卦,要根据动爻,对其取反,也就是将1变为0,将0变为1。

处理五行生克

根据五行生克

金生水,水生木,木生火,火生土,土生金。

金克木,木克土,土克水,水克火,火克金。

同样,我们得到了5种关系:生入,生出,克入,克出,比和

其中,比和是一种同类关系,也就是同样的两个元素就是比和。

根据五行生克得到吉凶

生入是大吉

生出是小凶

克入是大凶

克出是小吉

比和是大吉

因此,我们又得到了一个吉凶表:

fortune_dict = {"比和": "大吉","生入": "大吉","生出": "小凶","克入": "大凶","克出": "小吉"
}

python实现

程序实现

import datetimefrom lunarcalendar import Converter, Solarclass MeihuaYi:hexagram_dict = {"111": 1,"011": 2,"101": 3,"001": 4,"110": 5,"010": 6,"100": 7,"000": 8}swapped_hexagram_dict = {value: key for key, value in hexagram_dict.items()}def __init__(self):passdef get_hexagram(self):date = datetime.datetime.now()solar = Solar(date.year, date.month, date.day)lunar = Converter.Solar2Lunar(solar)year = (lunar.year - 2019) % 12month = lunar.monthday = lunar.dayhour = ((date.hour + 1) // 2) % 12 + 1up_hexagram = ((year + month + day) % 8) or 8down_hexagram = ((year + month + day + hour) % 8) or 8yao = ((year + month + day + hour) % 6) or 6return (up_hexagram, down_hexagram, yao)def to_element(self, hexagram):element_dict = {1: "金", 2: "金", 3: "火", 4: "木", 5: "木", 6: "水", 7: "土", 8: "土"}return element_dict[hexagram]def get_mutual_hexagram(self, up_hexagram, down_hexagram):double_hexagram = self.swapped_hexagram_dict[up_hexagram] + self.swapped_hexagram_dict[down_hexagram]mutual_hexagram1 = self.hexagram_dict.get(double_hexagram[1:4])mutual_hexagram2 = self.hexagram_dict.get(double_hexagram[2:5])return (mutual_hexagram1, mutual_hexagram2)def get_changing_hexagram(self, up_hexagram, down_hexagram, yao):if 1 <= yao <= 3:hexagram = self.swapped_hexagram_dict.get(down_hexagram)else:yao = yao - 3hexagram = self.swapped_hexagram_dict.get(up_hexagram)if yao == 1:index = 2elif yao == 2:index = 1else:index = 0binary_list = list(hexagram)if binary_list[index] == "0":binary_list[index] = "1"else:binary_list[index] = "0"changing_hexagram = self.hexagram_dict.get("".join(binary_list))return changing_hexagramdef get_ti_yong_hexagram(self, up_hexagram, down_hexagram, yao):if 1 <= yao <= 3:return (up_hexagram, down_hexagram)else:return (down_hexagram, up_hexagram)def get_relationship(self, element1, element2):generate = {"金": "水","水": "木","木": "火","火": "土","土": "金"}overcome = {"金": "木","木": "土","土": "水","水": "火","火": "金"}if element1 == element2:return "比和"elif generate[element1] == element2:return "生出"elif generate[element2] == element1:return "生入"elif overcome[element1] == element2:return "克出"elif overcome[element2] == element1:return "克入"else:return "无关"def get_good_and_bad(self, relationship):fortune_dict = {"比和": "大吉","生入": "大吉","生出": "小凶","克入": "大凶","克出": "小吉"}return fortune_dict[relationship]def predict(self):# 第零步:询问用户要预测什么?question = input("注意:使用需要至少间隔2小时以上!\n今天你要预测什么:")# 第一步:根据年月日时起卦up_hexagram, down_hexagram, yao = self.get_hexagram()# 第二步:划分体用互变ti, yong = self.get_ti_yong_hexagram(up_hexagram, down_hexagram, yao)hu1, hu2 = self.get_mutual_hexagram(up_hexagram, down_hexagram)bian = self.get_changing_hexagram(up_hexagram, down_hexagram, yao)# 第三步:根据卦得到五行ti_relation = self.to_element(ti)yong_relation = self.to_element(yong)hu1_relation = self.to_element(hu1)hu2_relation = self.to_element(hu2)bian_relation = self.to_element(bian)# 第四步:根据五行得到生克关系start = self.get_relationship(ti_relation, yong_relation)process1 = self.get_relationship(ti_relation, hu1_relation)process2 = self.get_relationship(ti_relation, hu2_relation)result = self.get_relationship(ti_relation, bian_relation)# 第五步:根据生克关系得到吉凶start_condition = self.get_good_and_bad(start)process1_condition = self.get_good_and_bad(process1)process2_condition = self.get_good_and_bad(process2)result_condition = self.get_good_and_bad(result)# 第六步:得出最终结果print(f"当前时间是:{datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")}")print(f"您要问的问题是:{question}")print(f"现在的当前状况是:{start_condition}")print(f"期间遇到的状况是:{process1_condition},{process2_condition}")print(f"最终的结果是:{result_condition}")if __name__ == "__main__":m = MeihuaYi()m.predict()

预测结果

运行程序后,得到了预测结果,如下所示:

可以看到,当前的状况是大凶,说明,人们对于BLG没有信心,一边倒的看好T1,认为BLG不能赢,此时T1笑的很开心,认为自己已经要赢了。

但是,在比赛过程中,局势发生了改变,反而变成了吉,说明比赛很顺利,暴打了对手。

最终结果为大吉,显而易见,说明了,BLG取得了最终的胜利。

结论:根据程序的预测结果,BLG可以打败T1,得到今年的冠军!

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

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

相关文章

Spring Boot 3.x 整合 Druid 数据库连接池(含密码加密)

Spring Boot 3.x 整合 Druid 数据库连接池&#xff08;含密码加密&#xff09; 1. 为什么需要数据库连接池&#xff1f; 在传统的数据库连接中&#xff0c;每一次与数据库连接都会消耗大量的系统资源和时间。数据库连接池会提前创建一定数量的数据库连接保存在池中&#xff0…

完美解决“找不到MSVCR110.dll无法继续执行代码

msvcr110.dll是一个动态链接库&#xff08;Dynamic Link Library&#xff0c;简称DLL&#xff09;文件&#xff0c;它是Microsoft Visual C 2012 Redistributable Package的一部分。这个库文件包含了大量预先编写的函数和资源&#xff0c;用于支持那些使用Visual C 2012或与之兼…

C++【string的模拟实现】

在前文我们讲解了string类接口使用&#xff08;C【string类的使用】(上),C【string类的使用】&#xff08;下&#xff09;&#xff09;&#xff0c;本片文章就来模拟实现string类。 注&#xff1a;本文实现的是string的部分重点内容&#xff0c;目的是为了更好的了解string&…

新能源汽车充电设施在储充电站的应用

0引言 全球能源和环境问题促使新能源汽车受到关注&#xff0c;但其推广受充电设施和能源供应限制。光伏站、储能站和电动汽车充放电站作为可再生能源利用和储存方式&#xff0c;具有巨大潜力。本研究旨在探索新能源汽车充电设施与这些站点的融合模式&#xff0c;以支持新能源汽…

uniapp开发小程序【简单的实现点击下拉选择性别功能】

一、展示效果 二、代码 <template><view><view class="form_box"><view class="item"

Git 基础详解

1. 基本概念 Git是一个免费、开源的 分布式版本控制系统&#xff0c;可以高效处理小到大型的各种项目。 1.1 版本控制 版本控制&#xff1a;它是一种用于追踪和记录文件、目录、项目或软件的变化&#xff0c;以便将来查阅、比较、修订不同版本文件的系统 版本控制系统&…

Yarn介绍 | 组成 | 工作流程

1、理论 Apache YARN&#xff08;Yet another Resource Negotiator的缩写&#xff09;是Hadoop集群的资源管理系统&#xff0c;负责为计算程序提供服务器计算资源&#xff0c;相当于一个分布式的操作系统平台&#xff0c;而MapReduce等计算程序则相当于运行于操作系统之上的应用…

uniapp开发【选择地址-省市区功能】,直接套用即可

一、效果展示 二、代码 <template><view><view class="user_info"><view class="item"

《Web性能权威指南》-WebRTC-读书笔记

本文是《Web性能权威指南》第四部分——WebRTC的读书笔记。 第一部分——网络技术概览&#xff0c;请参考网络技术概览&#xff1b; 第二部分——无线网络性能&#xff0c;请参考无线网络性能&#xff1b; 第三部分——HTTP&#xff0c;请参考HTTP&#xff1b; 第四部分——浏览…

高效水电管理:Spring Boot在大学城的应用

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及&#xff0c;互联网成为人们查找信息的重要场所&#xff0c;二十一世纪是信息的时代&#xff0c;所以信息的管理显得特别重要。因此&#xff0c;使用计算机来管理大学城水电管理系统的相关信息成为必然。开…

(linux驱动学习 - 12). IIC 驱动实验

目录 一.IIC 总线驱动相关结构体与函数 1.i2c_adapter 结构体 2.i2c_algorithm 结构体 3.向系统注册设置好的 i2c_adapter 结构体 - i2c_add_adapter 4.向系统注册设置好的 i2c_adapter 结构体 - i2c_add_numbered_adapter 5.删除 I2C 适配器 - i2c_del_adapter 二.IIC 设…

selenium操作已开启的浏览器,方便调试

一、谷歌浏览器配置&#xff1a; 在所安装的谷歌下面&#xff0c;执行下面命令&#xff0c;打开谷歌浏览器&#xff0c;用来selenium的操作&#xff1a; 注意事项&#xff1a;端口需要不被占用&#xff0c;--user-data-dir"D:\workspace\chrome-data"这个路径需要有…

特殊矩阵的压缩存储

一维数组的存储结构 ElemType arr[10]; 各数组元素大小相同&#xff0c;且物理上连续存放。 数组元素a[i]的存放地址 LOC i * sizeof(ElemType)。&#xff08;LOC为起始地址&#xff09; 二维数组的存储结构 ElemType b[2][4];二维数组也具有随机存取的特性&#xff08;需…

河南高校大数据实验室建设案例分享

泰迪智能科技在与中国各地高校的合作中积累了丰富的经验&#xff0c;尤其是在大数据和人工智能领域。过去多年里与河南省内多所高校在大数据领域进行了积极的探索和建设&#xff0c;形成了一系列具有特色的大数据实验室。这些实验室不仅促进了高校内部的科研创新&#xff0c;也…

qt QPicture详解

1、概述 QPicture类是Qt框架中的一个重要图形类&#xff0c;它主要用于记录和回放QPainter的绘图指令。这个类能够跨平台、无分辨率依赖地绘制图形&#xff0c;非常适合用于实现打印预览和图像操作等场景。QPicture可以将绘图操作序列化为一种独立于平台的格式&#xff0c;保存…

获取vue.config.js里代理的路径

vue.config.js 主要用于配置 Vue CLI 的构建和开发服务器选项&#xff0c;不能直接拿到里面的值&#xff0c;如果是自己重新写的config&#xff0c;引入到页面就可以拿到 下面说&#xff0c;我的解决办法&#xff0c;如果有更好的&#xff0c;一定要给我说啊 在public目录下创…

【数据结构】宜宾大学-计院-实验六

实验 6 栈和队列&#xff08;综合实验&#xff09; 实验目的&#xff1a;实验内容&#xff1a;进制转换问题&#xff1a;第1题测试结果&#xff1a;第1题代码实现&#xff1a; 括号匹配问题&#xff1a;第2题测试结果&#xff1a;第2题代码实现&#xff1a; 回文字符串问题&…

LabVIEW for Linux 介绍

LabVIEW for Linux 介绍 1. 兼容性 LabVIEW for Linux 设计用于多种 Linux 发行版&#xff0c;包括 CentOS、Ubuntu 等。在安装之前&#xff0c;务必检查与您特定发行版版本的兼容性。 2. 程序移植 可移植性&#xff1a;在许多情况下&#xff0c;LabVIEW 程序&#xff08;VI…

《Python游戏编程入门》注-第4章2

《Python游戏编程入门》的“4.2.2 键盘事件”中介绍了通过键盘事件来监听键盘按键的方法。 1 键盘事件 玩家点击键盘中某个按键实际上包含了两个动作&#xff1a;点击按键和释放按键&#xff0c;也就是按键按下和松开。按键按下的对应的事件是KEYDOWN&#xff0c;按键松开对应…

递归到分治

一、递归与分治&#xff1a; 1、递归&#xff1a;如果一个问题分可以简化为某些更小的、更简单的子问题来解决&#xff0c;那么可以用递归 2、分治&#xff1a;如果想并行处理&#xff0c;可以用到分治 二、假设我们有一段文本&#xff0c;需要统计每个单词出现的频率。我们将…