首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

猜大小游戏的具体细节

具体讲解一下time 和rand ,srand三个函数具体细节  因为要用到随机数  所以要用到rand  但是他种子是固定的 为1  而随机数是以种子为基础进行算法的  所以随机数序列是固定的  这是它是伪随机 所以我们就要用到srand去改变rand种子  而提供的种子就要是随机的才能使rand随机  这时我们就用到time函数  此时time函数的返回值是此时到1985的时间差(忘了哪个时间)以这个为种子 所以就很随机   但需要注意的是因为是以时间为单位   所以如果我们将srand放在循环中 如果srand运行间隔太短 就导致种子几乎没区别 从而以此为基础算出来的rand就相差不大 从而随机数就导致没有随机性 两者间随机数相差不大(而如果你硬要将其放在循环中多次执行并且还想解决该问题就需在玩完一次游戏后等待较长时间再次进行游戏   )所以由于放在循环中过于麻烦 且不随机  所以在猜大小游戏中srand不要放入循环中   而是将其放入循环外  执行一次就行  之后的数都是在其随机序列上依次执行 完全不一样的数  (不像其放在循环中,每次rand执行的都是随机序列的第一个数 ,而且时间太短的话每个种子相差不大导致其第一个数都相差不大 就游戏错误)所以srand应放在循环外    对于我来说猜大小游戏的具体细节就是这样  其他语句上的运用太过简单  ,小细节也不用讲(不太重要没必要叙述) 所以猜大小游戏细节就是这些   图片如下

01

循环结构

如果在程序中我们需要重复的执行某条或某些指令,例如用程序控制机器人踢足球,如果机器人持球而且还没有进入射门范围,那么我们就要一直发出让机器人向球门方向奔跑的指令。当然你可能已经注意到了,刚才的描述中其实不仅仅有需要重复的动作,还有我们上一个章节讲到的分支结构。再举一个简单的例子,比如在我们的程序中要实现每隔1秒中在屏幕上打印一个"hello, world"这样的字符串并持续一个小时,我们肯定不能够将print('hello, world')这句代码写上3600遍,如果真的需要这样做那么我们的工作就太无聊了。因此,我们需要循环结构,使用循环结构我们就可以轻松的控制某件事或者某些事重复、重复、再重复的发生。在Python中构造循环结构有两种做法,一种是for-in循环,一种是while循环。

00

OpenCV中K-means源码解析

参数说明: mat - 2D或N维矩阵,注:当前方法不支持具有4个以上通道的矩阵。 distType - 分布类型(RNG :: UNIFORM或RNG :: NORMAL)     a - 第一分布参数;在均匀分布的情况下,这是一个包含范围的下边界;在正态分布的情况下,这是一个平均值。     b - 第二分布参数;在均匀分布的情况下,这是一个非包含上边界,在正态分布的情况下,这是一个标准偏差(标准偏差矩阵或整个标准偏差矩阵的对角线)。 saturateRange - 预饱和标志;仅用于均匀分配;如果为true,则该方法将首先将a和b转换为可接受的值范围(根据mat数据类型),然后将生成在[saturate(a),saturate(b))范围内的均匀分布的随机数,如果saturateRange = false ,该方法将在原始范围[a,b)中生成均匀分布的随机数,然后将其saturate,这意味着,例如,RNG().fill(mat_8u,RNG :: UNIFORM,-DBL_MAX,DBL_MAX)将由于范围(0,255)显着小于[-DBL_MAX,DBL_MAX),因此可能会产生大多数填充有0和255的数组。

02
领券