当前位置:首页>python>用Python来抽奖?真挺简单的!

用Python来抽奖?真挺简单的!

  • 2026-10-21 13:27:59
用Python来抽奖?真挺简单的!

关注+星标,每天学习Python新技能

来源:网络

如果搞抽奖活动的话,经常会遇到这类问题:如何从20个人中随机抽取6个人获得奖品!

计算机如何随机?

程序都是固定的,所以对于一个没有输入的程序,无论用什么算法,只能让每次执行的不同随机数随机,却不能让不同次执行的数随机。

所以一般随机数都需要一些随机种子,一般这种子可能是时间、或者某快内存的当前值,这些数值的分布明显是不随机的,所以目前的计算机无法生成真正的随机数。

我认为这个是当前计算机的体系决定的,跟你后面那个问题无关,既不能佐证,也不能否定。

python中的随机random

random()是Python中生成随机数的函数,是由random模块控制,random()函数不能直接访问,需要导入random 模块,然后再通过相应的静态对象调用该方法才能实现相应的功能。

random.random()

random.random()方法返回一个随机数,其在0至1的范围之内,以下是其具体用法:

import randomprint (随机数: , random.random())输出结果:0.22867521257116

random.uniform()

random.uniform()是在指定范围内生成随机数,其有两个参数,一个是范围上限,一个是范围下线,具体用法如下:

import randomprint (random.uniform(2, 6)) 输出结果:3.62567571297255

random.randint()

random.randint()是随机生成指定范围内的整数,其有两个参数,一个是范围上限,一个是范围下线,具体用法如下:

import randomprint (random.randint(6,8))输出结果:8# 每次结果都有随机

random.randrange()

random.randrange()是在指定范围内,按指定基数递增的集合中获得一个随机数,有三个参数,前两个参数代表范围上限和下限,第三个参数是递增增量,具体用法如下:

import randomprint (random.randrange(6, 28, 3))输出结果:15

random.choice()

random.choice()是从序列中获取一个随机元素,具体用法如下:

import randomprint (random.choice(www.520m.com))输出结果:2print (random.choice([石头, 剪刀, 布]))输出结果:布

`

random.shuffle()

random.shuffle()函数是将一个列表中的元素打乱,随机排序,具体用法如下:

import randomnum = [1, 2, 3, 4, 5]random.shuffle(num)print (num)输出结果:[3, 5, 2, 4, 1]

random.sample()

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代码实现

神经架构搜索NAS详解:三种核心算法原理与Python实战代码

12 种 Pandas 测试技巧,让数据处理少踩坑

Python离群值检测实战:使用distfit库实现基于分布拟合的异常检测

点击 阅读原文了解更多

最新文章

随机文章