1.python可以做哪些小游戏?
2.[按键精灵] 紫猫刷初始号流程
3.源代码涉及概念
4.扒一扒随机数(Random Number)的骰源诞生历史
5.python显示数组多少列
6.情侣飞行棋源码朋友升温神器爱情旋律小游戏H5版本下载授权
python可以做哪些小游戏?
python小游戏,上班摸鱼必备(附源码)
1、Python程序开发之简单小程序实例()小游戏-跳动的码教小球项目功能用户控制挡板来阻挡跳动的小球。
2、程骰显然,源码其均需具备更新角色位置和改变角色运动方向的教程能力,其源代码如下:Step2:设计游戏地图利用Step1中定义的下载源码漫游戏精灵类,我们就可以开始设计游戏地图了。骰源
个Python入门小程序,码教你都知道哪些
用程序实现石头剪刀布游戏。字典的程骰key是姓名,value是源码身高,现在需要按照身高对字典重新排序。教程将二元二次函数封装在函数中,下载方便调用初学python的骰源小伙伴注意哦~不要只依赖于教程,而忽视实操的码教能力。不然,程骰是很难有进步的。
你好,python不适合做小程序的。微信官方为小程序提供了大量的接口api,开发小程序需要有基本的Javascript,HTML,CSS的基础。
python必背内容:变量。指在程序执行过程中,可变的量。定义一个变量,就会伴随有3个特征,分别是内存ID,数据类型和变量值。常量,指在程序执行过程中,不可变的量。一般都用大写字母定义常量。与程序交互。
浅浅的笑着:“我会带着你的孩子,顚节进入Python程序开发之简单小程序实例()小游戏-跳动的小球项目功能用户控制挡板来阻挡跳动的小球。
首先要明确一点,python是后台语言,不能直接用python来写微信小程序的。微信小程序是用javascript和css来写的。python只是用来给小程序提供后台数据用的。同样可以为小程序提供后台数据的有java和php。
Python实现消消乐小游戏1、pre{ overflow-x:auto}实现消消乐的构成主要包括三部分:游戏主体、计分器、计时器,下面来看一下具体实现。先来看一下游戏所需Python库。
2、鼠标点击切换位置。根据查询python消消乐相关资料得知,python消消乐控制横竖用鼠标点击切换位置。找出与旁边的两个图案匹配的另一个,鼠标点击切换位置,密友聊天源码使得一行或一列至少3个相同即可消去。
3、为每一类的方块做一个对象(比如红色是一个类;蓝色是一个类……)写一个方法中,将所有方块放在一个数组中,再两个for循环遍历横纵坐标(整个游戏界面大小),将二维数组的值赋给随机一个方块类对象。
怎样用Python做一个?通过上下左右的不断移动叠加直到score累加到为止,游戏失败的条件是直至空格全部填满score,胜利的条件是score=。
可利用while循环实现,每次循环i加一,原数为a每次循环除以2,当a小于1时退出程序。while循环在每次执行循环体之前,都要先对test_expression循环条件求值,如果循环条件为真,则运行循环体部分。
0-debug.apkhelloapp-0-debug.apk安装以后是这样:话说在编译的时候可能出现空间不足的情况,根据虚拟机的不同(vmware或virtualbox)自行扩容吧。最后我们来瞧瞧简易版Python开发的这个游戏的源代码。
首先,打开python并创建一个新的PY文件。其次,importos,因为涉及系统文件的路径,因此首先在此处导入系统模块。随后,可以双击打开HTML文件,然后就可以看到书写的网页,如下图所示。
第一阶段:Python语言基础主要学习Python最基础知识,如Python数据类型、字符串、函数、类、文件操作等。阶段课程结束后,学员需要完成Pygame实战飞机大战、等项目。
Python程序开发之简单小程序实例()小游戏-跳动的小球项目功能用户控制挡板来阻挡跳动的小球。项目分析根据项目功能自定义两个类,一个用于控制小球在窗体中的运动,一个用于接收用户按下左右键时,挡板在窗体中的运动。
安装Python:在编写Python程序之前,需要在计算机上安装Python。Python官网提供了下载安装程序的链接,可以根据操作系统版本下载安装程序。编写代码:可以使用任何文本编辑器编写Python代码。
首先要明确一点,python是后台语言,不能直接用python来写微信小程序的。微信小程序是泛微源码分享用javascript和css来写的。python只是用来给小程序提供后台数据用的。同样可以为小程序提供后台数据的有java和php。
对于学python编程的途径可以说是有两种,一种是自学,一种是到培训机构进行报名学习,python是一门编程语言,是一门可以跟计算机打交道的语言,学习python编程语言需要做的是实操而不是大量的刷题;学习时间大概是4-6个月。
使用python制作一个抽奖小游戏——骰子游戏1、汇总这个可以创建多种玩法,随机摇骰子只是其中的一种,还可以先让一个人输入一个幸运数字并储存起来,然后再执行程序,如果数字不等于幸运数字就不是幸运星,当数字等于时就是幸运星并结束程序——类似抽奖。。
2、python版的地址:DiceGame其中python版需要安装了python5才可以运行。python2的下载地址:python2朋友写了一个精美的手机版,用AdobeFlashLite完成的:BeautyDice.rar下面是游戏规则。
3、利用random函数写了个小程序。你把输入和输出与html元素连接一下应该就可以了。
[按键精灵] 紫猫刷初始号流程
本教程提供了一个完整的脚本,用于从头到尾指导您刷初始号。脚本代码如下: 通过定义变量,您可以轻松地在代码中进行操作。例如,`intX` 和 `intY` 用于记录鼠标点击的位置,而 `剑x`、`剑y` 等变量则用于指定特定游戏元素的位置。 脚本的关键部分包括: 寻找并点击骰子以开始游戏。当找到骰子时,它会点击打勾确认。 检查游戏界面状态,判断是否处于战斗中,以及在非战斗界面时寻找并点击出发按钮。 在对话界面或宝箱界面的特定位置进行点击,以对应游戏内的操作。 寻找并点击装备、打勾以及升级按钮,以执行相关游戏功能。 最后,寻找并点击加号按钮进行升级。 整个脚本通过循环结构不断执行上述操作,确保在刷初始号时能够自动完成一系列任务。请注意,脚本中的变量定义和操作针对特定游戏界面进行了优化。 要获取源码命令素材,推荐关注以下资源: 按键精灵论坛 知乎账号 微信公众号“按键精灵” 在获取脚本的同时,如有任何疑问,您还可以在底部留言或私信寻求帮助。 完成上述步骤后,已知x的源码您将能够使用此脚本自动完成刷初始号流程,提升游戏效率。源代码涉及概念
影片《源代码》的核心概念是平行宇宙,探讨了随机性的本质。掷骰子看似随机,但其实其结果受初始条件和环境影响,如果控制得当,其实是个确定的过程。硬币抛掷和计算机生成的随机数本质上也是伪随机,每个看似随机的结果都有其原因,形成了一种因果循环,如蝴蝶效应,每个事件的发生都有其前因,从而指向决定论的观点。 在自由意志的问题上,决定论者认为一切皆已注定,但人们在选择上仍认为自己有自由。例如,尼奥在《盗梦空间》中的选择看似自由,实则早已被决定。即便是看似微小的决定,如选择哪辆劳斯莱斯,也可能被深层次的个人信念或潜意识决定,再次验证了决定论。 量子力学的引入挑战了宏观因果律,微观粒子的状态在观察前是不确定的,这使得随机性再次进入讨论。例如,电子可能同时存在于多个位置的叠加态,直到被观测才确定。这种不确定性理论与平行宇宙论相结合,每个宇宙都有不同的历史分支,解释了《源代码》中主角柯特反复进入叠加态救赎的情况。 然而,平行宇宙的无限性导致了矛盾,每个Colter可能来自不同的平行宇宙,拥有不同的记忆,影片为了避免逻辑冲突,选择了一个默认设定。这引发的问题是,量子理论和平行宇宙究竟是加强了决定论,还是提供了对自由意志的可能解释?这取决于观察的角度:一方面,每个平行宇宙都有其必然的结果;另一方面,个体可以选择自己的生活路径,看似提供了选择的可能性。扩展资料
《源代码》Source Code是由著名导演邓肯·琼斯指导, 杰克·吉伦哈尔/ 维拉·法米加 / 米歇尔·莫娜汉 / 杰弗里·怀特 / 拉塞尔·皮特斯 / 迈克尔·阿登等人主演的一部**。讲述了一位在阿富汗执行任务的美国空军飞行员科特史蒂文斯上尉所经历的一系列惊心动魄的事件。扒一扒随机数(Random Number)的诞生历史
在所有的产生随机数的事物中,我认为没有什么能够超越骰子了”,这是统计学家 Francis Galton 在 年的《自然》杂志中写道。它们在容器中不断地翻滚、互相撞击,资讯社区源码以各种形式和角度与容器壁发生碰撞,在容器中的位置和形态在外界看来都是那么不可预知,容器哪怕只发生一次晃动,外界都不可能知道里面到底是什么形态。古已有之的随机数
到底如何才能生成均匀的随机数列呢?自然界中随机性大量而近乎完美的存在,人类并不能准确地预知和量化这种随机性。迄今为止发现最早的骰子(4 个面)是来自中东的一座公元前 世纪的坟墓里。再近一些的历史是在公元前 年的中国,利用火烧龟壳产生的随机龟裂现象,一些“先知”会根据龟裂情况来对未来做判断。又过了几个世纪,在中国诞生了易经占卜法,利用 蓍草法进行占卜,其操作的分裂过程很类似于抛硬币。
机器生成随机数的第一次触碰
时间到了 世纪 年代中期,现代世界需要更多的随机数,不再是骰子或者蓍草可以满足的了。RAND 公司发明了一种机器,通过随机脉冲发生器可以生成大量的随机数。他们将这个机器运行所产生的数字聚合起来并发布成图书 “A Million Random Digits with , Normal Deviates”。这在现在看来是十分荒谬的,但是在当时却是一个突破。这是人类第一次产生如此大量的、高质量的随机数,并且对公众是开放的。这本书 RAND 公司一直印刷到了 年,现在在 亚马逊上也可以看得到。
于此类似的机器:摇奖机,是由著名的 Bletchley Park WWII 破译小组在 世纪 年代发明的,当时被用来生成英国保险债券**所使用的随机数。为了平息公众对摇奖机的公平性和准确性的质疑和担心,官方斥资制作了当时的巨型纪录片:“摇奖机的重要性(The Importance of Being E.R.N.I.E.)”。下面给出视频,很值得一看。
年随机性终于被正式规范化并且整合到了计算机 Ferranti Mark 1 号中。Ferranti Mark 1 号内置了随机数生成指令,利用电气噪声可以一次性生成 个随机比特位。这一特性是由阿兰·图灵设计的。Christopher Strachey 利用这一特点,编写了一套随机情书生成器。下面这是情书例子,利用这个程序生成的 David Link 的 复合计划:
JEWEL LOVE MY LIKING HUNGERS FOR YOUR ADORABLE INFATUATION. YOU ARE MY EROTIC ARDOUR.: MY FOND RAPTURE. MY THIRST SIGHS FOR YOUR INFATUATION. MY HEART SEDUCTIVELY WISHES YOUR BREATHLESS LONGING.YOURS CURIOUSLYM. U. C.
(由于上面文字过于漏骨,译者尝试引申出译文如下)
我对你的可爱迷恋至极。你勾起了我所有对情爱的幻想。我为你而狂热。你的魅力使我对你充满了渴望。我的心随你在而让我无法呼吸。你的追求者M.U.C
但是图灵的随机数指令几乎是当时的开发人员崩溃的,因为这种随机在本身就已经很不稳定的开发环境下又引入了不确定性。人们希望在软件中得到一致性的结果,但是用这种指令的软件永远不可能得到可重复的一致性结果,这也使得软件测试几乎变的不可行。
那么如果随机数生成器可以由一个确定性的函数来替代会怎样呢?如果在给定一个确定的初始条件,每次可以生成同样的随机序列会怎样呢?这就是伪随机数生成器(PRNG)。
伪随机数生成器(PRNG)
伪随机数生成器是由冯诺依曼在 年创造的。他的基本思想是从一个随机数种子开始,对其平方,然后取中间值。接下来重复对得到的数取平方并取中间值的过程,就会得到一个具有统计意义属性的随机数序列了。这也就是广为人知的 平方取中法。
然而,冯诺依曼的方法并没有经得住时间的考验,因为不论从什么随机种子开始,序列最终都会落入某个短循环序列,比如:,,,,,……。
序列中的数字是依赖于前一个数字的这种生成函数,上面的重复循环问题是不可避免的。但是如果说这个循环间隔非常非常大,对实际应用并不会产生影响,那会怎样呢?
年,数学家 D.H.Lehmer 利用 线性同余生成器(LCG)实现了这一思路。下面给出的是基于 Lehmer 的方法所实现的一种朴素 PRNG,叫做 中央随机数生成器,使用 JavaScript 在 年写的。
注意代码中的魔法数字(如 等),这些数字(通常是质数)是用来最大化重复区间的——上面所提到的自我重复的循环区间。这种 PRNG 使用当前时间作为种子值,重复区间可以达到 2 的 次方。
这种中央随机生成器发明之初非常流行,因为那时的 JavaScript 1.0 还没有内置 Math.random() 函数,当时的 Web 1.0 环境下,大家都想让自己的 banner 广告随机旋转。一个开发者 Paul Houle 说道:“它在很多情况下已经很好用了,但是不能使用它来做保密使用”。
对 PRNG 的更高要求
互联网确实需要保密。SSL 诞生在 年,它的加密方案需要高质量的 PRNG。它的发展也直接导致了一段时间的 PRNG 野蛮创新时期。如果你回头看一下 所有的随机数生成器的专利,你可能会感受到就像现代版的第一次制造飞机的浪潮一样。
世纪 年代中期的 CPU 是没有内置随机数生成指令的,这使得那时候好的随机种子特别难得。本来这问题也不大,不过当飞利浦的 Hallam-Baker 发现 Netscape(当时市场上的巨头)的 SSL web 服务器使用了“当前时间 + 一组特殊 ID”组合作为种子的时候,这个问题变成了一个切身体会到的安全问题了。Hallam-Baker 展示了一个攻击者很容易猜到种子值,并且对他们所拿到的服务器流量进行解密的过程。猜种子值是一个非常常规的攻击手段,尽管这种手法现在变得越来越困难。这里给出 年在 Hacker News 上的一段非常经典的攻击演练。
到了 年,计算机科学家们厌倦了生成随机数所受限的条件,来自 SGI 的一个团队发明了 LavaRand,它是用一个网络摄像头来对着熔岩灯拍照。从摄像头中过来的数据是一个真实的熵源——像图灵那样的真实随机数生成器(TRNG)——可以以 kb/s 的速率生成随机数。一如当时硅谷的风格,熔岩灯平台很快拿到了 专利。
AutoDesk 的创始人 John Walker 在全世界范围内推广他的 HotBits,这是一种“随机数即服务”的应用,背后原理是盖革计数器来保证其量子随机性。 年成立的 Random.org 为互联网提供真正的随机数。他们提供的服务包括真正的抛硬币随机、骰子随机和卡牌洗牌随机等。
上面所提到的大多数算法后来都无人问津了,但是一个叫做梅森旋转随机数生成器(The Mersenne Twister)的软件 PRNG 鹤立鸡群,它是由松本真(Makoto Matsumoto)和西村 拓士(Takuji Nishimura)在 年发明的。它完美地平衡了性能和随机数的质量,并且经受住了时间的考验。其基本思想是基于 线性反馈移位寄存器(LFSR),产生一个循环周期非常长的确定性序列,循环周期能够达到 2¹⁹⁹³⁷− 1。在当前的编程语言中,这种算法依旧是默认的 PRNG。
在 年,随机数市场发生了一个巨大的变化,Intel 在其 i 芯片组上集成了芯片级的随机数生成器。这样使得新的服务器都自带热噪声的本地源随机数生成能力——真正的随机数生成器(TRNG)。这很伟大,但是它始终没有软件 PRNG 快,所以加密软件依旧不得不依赖于伪随机数生成器(PRNG)。
这就把我们带到了“密码安全 PRNG”(CSPRNG)(这些讨厌的缩写!难怪很多人认为计算机科学很烦人)。CSPRNG 对于 SSL 特别重要。那么 CSPRNG 的原理是什么呢?这里有一份 页的论文来介绍 CSPRNG。祝你在里面阅读愉快。
不言而喻,CSPRNG 是一个强需求。梅森旋转随机数生成器并不是一种 CSPRNG,因为如果可以给定大量的先前序列样本,后面的数字是可以预计的出来。
时间再拉近一些, 年,Intel 为 TRNG 增加了 RDRAND 和 RDSEED 指令,具有 MB/s 的生产效率。但是 RDRAND 的完整性一直被质疑,里面是不是有某些缺陷?或者是为美国国家安全局内置了什么东西?没人确切地知道这个问题的答案,我猜某些地方的某些人一定知道,可是他们也一定不会公开。
开源硬件随机数生成器
(由一种硬件随机数生成器 PEDOUBLER 生成的随机数据)
近些年开源硬件 TRNG 也逐渐显露头角。它们广受欢迎得益于其设计的透明化:你可以自己构建线路,也可以用现有的组件搭建。完全的透明化使得对硬件随机数生成没有任何的担心和疑虑。 REDOUBLER和 无限噪声 TRNG是两个开源硬件随机数生成器,链接中给出他们的 Github 源码地址。
结尾
今天依旧有关于对随机数生成方法选择的争论,在操作系统内核、编程语言和安全包(如 OpenSSL 或者 OpenSSH)方面均未停止。有许多不同的算法聚焦于不同的特点上,如速度、占用空间、安全性等方面,也有一些安全专家依旧在寻找攻破已有算法的方法。但是对于我们日常的使用来讲,在大多数的操作系统中你可以放心地使用/dev/random,或者编程语言中你可以随心地使用 rand() 函数,都能给你带来很好的使用体验,并且你这么做,阿兰·图灵也会很开心。
python显示数组多少列
导读:本篇文章首席CTO笔记来给大家介绍有关python显示数组多少列的相关内容,希望对大家有所帮助,一起来看看吧。Python中怎样使用shape计算矩阵的行和列你得先安装numpy库,矩阵(ndarray)的shape属性可以获取矩阵的形状(例如二维数组的行列),获取的结果是一个元组,因此相关代码如下:
import?numpy?as?np
x?=?np.array([[1,2,5],[2,3,5],[3,4,5],[2,3,6]])
#?输出数组的行和列数
print?x.shape?#?(4,?3)
#?只输出行数
print?x.shape[0]?#?4
#?只输出列数
print?x.shape[1]?#?3
Python中怎么获取二维数组中指定列的数据。
解答:
op=open('xx.txt','r')
list=[]
forlineinop:
list.append(line)
这样第一行就是a[0]。
要取出第一行第二个字。
a[0].split('')[1]按空格分隔,函数名应该这个。
简介:
Python是一种面向对象、直译式计算机程序设计语言,由荷兰人GuidovanRossum发明于年,年发行第一个公开发行版。它常被昵称为胶水语言,它能够很轻松的把用其他语言制作的各种模块(尤其是C/C++)轻松地联结在一起。
Python是纯粹的自由软件,源代码和解释器CPython遵循GPL协议。语法简洁清晰,特色之一是强制用空白符作为语句缩进。名字来源于一个喜剧,最初设计Python这种语言的人并没有想到Python会在工业和科研上获得如此广泛的使用。
python中如何表示多维数组在Python中,一个像这样的多维表格可以通过“序列的序列”实现。一个表格是行的序列。每一行又是独立单元格的序列。这类似于我们使用的数学记号,在数学里我们用Ai,j,而在Python里我们使用A[i][j],代表矩阵的第i行第j列。
这看起来非常像“元组的列表”(ListsofTuples)。
“列表的列表”示例:
我们可以使用嵌套的列表推导式(listcomprehension)创建一个表格。下面的例子创建了一个“序列的序列”构成的表格,并为表格的每一个单元格赋值。
table=[[0foriinrange(6)]forjinrange(6)]printtableford1inrange(6):ford2inrange(6):table[d1][d2]=d1+d2+2printtable程序的输出结果如下:
[[0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0],
[0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0]],
[[2,3,4,5,6,7],[3,4,5,6,7,8],[4,5,6,7,8,9],
[5,6,7,8,9,],[6,7,8,9,,],[7,8,9,,,]]
这个程序做了两件事:创建了一个6×6的全0表格。然后使用两枚骰子的可能组合的数值填充表格。这并非完成此功能最有效的方式,但我们通过这个简单的例子来演示几项技术。我们仔细看一下程序的前后两部分。
程序的第一部分创建并输出了一个包含6个元素的列表,我们称之为“表格”;表格中的每一个元素都是一个包含6个0元素的列表。它使用列表推导式,对于范围从0到6的每一个j都创建对象。每一个对象都是一个0元素列表,由i变量从0到6遍历产生。初始化完成之后,打印输出二维全0表格。
推导式可以从里向外阅读,就像一个普通表达式一样。内层列表[0foriinrange(6)]创建了一个包含6个0的简单列表。外层列表[[...]forjinrange(6)]创建了这些内层列表的6个深拷贝。
程序的第2个部分对2个骰子的每一个组合进行迭代,填充表格的每一个单元格。这由两层嵌套循环实现,每一个循环迭代一个骰子。外层循环枚举第一个骰子的所有可能值d1。内层循环枚举第二个骰子d2。
更新每一个单元格时需要通过table[d1]选择每一行;这是一个包含6个值的列表。这个列表中选定的单元格通过...[d2]进行选择。我们将掷骰子的值赋给这个单元格,d1+d2+2。
其他示例:
打印出的列表的列表不太容易阅读。下面的循环会以一种更加可读的形式显示表格。
forrowintable:
printrow[2,3,4,5,6,7]
[3,4,5,6,7,8]
[4,5,6,7,8,9]
[5,6,7,8,9,]
[6,7,8,9,,]
[7,8,9,,,]
作为练习,读者可以试着在打印列表内容时,再打印出行和列的表头。提示一下,使用"%2d"%value字符串运算符可以打印出固定长度的数字格式。显示索引值(ExplicitIndexValues)。
我们接下来对骰子表格进行汇总统计,得出累计频率表。我们使用一个包含个元素的列表(下标从0到)表示每一个骰子值的出现频率。观察可知骰子值2在矩阵中只出现了一次,因此我们期望fq[2]的值为1。遍历矩阵中的每一个单元格,得出累计频率表。
fq=*[0]foriinrange(6):forjinrange(6):c=table[i][j]fq[c]+=使用下标i选出表格中的行,用下标j从行中选出一列,得到单元格c。然后用fq统计频率。
这看起来非常的数学和规范。
Python提供了另外一种更简单一些的方式。
使用列表迭代器而非下标,表格是列表的列表,可以采用无下标的for循环遍历列表元素。
fq=*[0]printfqforrowintable:forcinrow:fq[c]+=1printfq[2:
结语:以上就是首席CTO笔记为大家介绍的关于python显示数组多少列的全部内容了,希望对大家有所帮助,如果你还想了解更多这方面的信息,记得收藏关注本站。
情侣飞行棋源码朋友升温神器爱情旋律小游戏H5版本下载授权
“情侣飞行棋”是一款专为情侣打造的热门互动游戏,通过在H5页面上创建个性化的飞行棋,用户可以将那些不敢表达的心声传递给对方,同时确保隐私安全。游戏无需个人身份信息的泄露,提供了一个安全而浪漫的交流平台。
纯H5版本游戏,支持微信自动授权登录,无需额外应用安装,体验流畅。除了情侣飞行棋,还包含情趣骰子、真心话大冒险等多种游戏模式,满足多样化互动需求。游戏内容实时在线更新,永久授权,免费升级,无需人工维护,提供便捷的服务。
多种游戏玩法集于一体,部分前端代码开源,方便用户和开发者进行二次开发和创新。部署过程简单,无需额外成本,只需在线配置服务器,轻松启动游戏服务。游戏支持微信官方支付、易支付、码支付等多种支付方式,确保交易安全便捷。
游戏还具备完整的分销制度,用户可以根据需求定制不同的返佣比例,增加盈利渠道。游戏界面友好,订单信息清晰,便于对账管理,确保每一笔交易的透明度。
游戏提供授权服务,无需任何形式的扣佣,所有授权用户和合作伙伴享有平等的权益。购买游戏需要准备认证服务号、商户号、服务器和域名,确保游戏服务的稳定运行。
源码为授权加密版本,核心文件加密,确保游戏内容的安全和隐私。同时,包含后期更新,保证用户能够持续享受游戏的最新功能和优化。
2024-12-22 16:58
2024-12-22 16:51
2024-12-22 16:13
2024-12-22 15:25
2024-12-22 15:17
2024-12-22 14:49