如果搞抽奖活动的话,经常会遇到这类问题:如何从20个人中随机抽取6个人获得奖品!
程序都是固定的,所以对于一个没有输入的程序,无论用什么算法,只能让每次执行的不同随机数随机,却不能让不同次执行的数随机。
所以一般随机数都需要一些随机种子,一般这种子可能是时间、或者某快内存的当前值,这些数值的分布明显是不随机的,所以目前的计算机无法生成真正的随机数。
我认为这个是当前计算机的体系决定的,跟你后面那个问题无关,既不能佐证,也不能否定。
random()是Python中生成随机数的函数,是由random模块控制,random()函数不能直接访问,需要导入random 模块,然后再通过相应的静态对象调用该方法才能实现相应的功能。
random.random()方法返回一个随机数,其在0至1的范围之内,以下是其具体用法:
import randomprint (随机数: , random.random())输出结果:0.22867521257116random.uniform()是在指定范围内生成随机数,其有两个参数,一个是范围上限,一个是范围下线,具体用法如下:
import randomprint (random.uniform(2, 6)) 输出结果:3.62567571297255random.randint()是随机生成指定范围内的整数,其有两个参数,一个是范围上限,一个是范围下线,具体用法如下:
import randomprint (random.randint(6,8))输出结果:8# 每次结果都有随机random.randrange()是在指定范围内,按指定基数递增的集合中获得一个随机数,有三个参数,前两个参数代表范围上限和下限,第三个参数是递增增量,具体用法如下:
import randomprint (random.randrange(6, 28, 3))输出结果:15random.choice()是从序列中获取一个随机元素,具体用法如下:
import randomprint (random.choice(www.520m.com))输出结果:2print (random.choice([石头, 剪刀, 布]))输出结果:布`
random.shuffle()函数是将一个列表中的元素打乱,随机排序,具体用法如下:
import randomnum = [1, 2, 3, 4, 5]random.shuffle(num)print (num)输出结果:[3, 5, 2, 4, 1]random.sample()函数是从指定序列中随机获取指定长度的片段,原有序列不会改变,有两个参数,第一个参数代表指定序列,第二个参数是需获取的片段长度,具体用法如下:
import randomnum = [1, 2, 3, 4, 5]sli = random.sample(num, 3)print (sli)输出结果:[2, 4, 5]random是伪随机数,或称伪乱数,是使用一个确定性的算法计算出来的似乎是随机的数序,因此伪随机数实际上并不随机。
Python其实没有那么难。

长按或扫描下方二维码,免费获取 Python公开课和大佬打包整理的几百G的学习资料,内容包含但不限于Python电子书、教程、项目接单、源码等等
▲扫描二维码-免费领取
推荐阅读
AI智能体开发实战:17种核心架构模式详解与Python代码实现
点击 阅读原文了解更多