Python生成随机数_python生成随机数并判断奇偶

liftword3个月前 (02-05)技术文章36

生成一个Python随机数

6 分钟阅读

Python有一个内置的随机模块来实现此目的。它公开了几个方法,如randrange(),randint(),random(),seed(),uniform()等。您可以调用这些函数中的任何一个来生成 Python 随机数。

通常,随机数是一个整数,但您也可以生成随机浮点数。但是,您首先需要了解程序员的上下文,然后选择要使用的正确函数。

初学者的 Python 随机数教程

Python随机数生成器

Python 随机数生成器是一个产生伪随机数的确定性系统。它使用Mersenne Twister算法,可以生成随机数列表。

确定性算法始终为相同的输入返回相同的结果。

它是迄今为止在各种编程语言中实现的最成功的PRNG技术。

伪随机数在统计上是随机的,但具有定义的起点,并且可能会重复。

现在让我们看看一些生成随机整数和浮点数的真实示例。

Randrange() 生成一个随机数

randrange() 函数可用于 Python 随机模块。它使您从给定的值范围生成一个随机数。

此函数具有以下三种变体:

语法

Bash
# randrange() with all three arguments
random.randrange(begin, end, step counter)

使用这种形式的 randrange() 时,您必须传递开始、停止和步长值。

Bash
# randrange() with first two arguments
random.randrange(begin, end)

使用此表单,您可以提供开始和停止,默认值 (=1) 用作计步器。

Bash
# randrange() with a single argument
random.randrange(end)

只需传递范围的终结点。起点考虑值 (=0),计步器考虑默认值 (=1)。

另外,请注意,在生成随机数时,结束/停止值被排除在外。此函数在以下情况下会产生 ValueError 异常:

  • 如果您已将浮动范围用于开始/停止/步骤。
  • 或者,如果起始值大于停止值。

现在让我们看看几个例子。

示例-1:生成介于 0 和 100 之间的随机数

Bash
import random as rand

# Generate random number between 0 to 100

# Pass all three arguments in randrange()
print("First Random Number: ", rand.randrange(0, 100, 1))

# Pass first two arguments in randrange()
print("Second Random Number: ", rand.randrange(0, 100)) # Default step = 1

# Or, you can only pass the start argument
print("Third Random Number: ", rand.randrange(100))     # Default start = 0, step = 1

输出为:

Bash
First Random Number:  3
Second Random Number:  36
Third Random Number:  60

示例-2:生成介于 1 和 99 之间的随机数

Bash
import random as rand

# Generate random number between 1 to 99

# Pass all three arguments in randrange()
print("First Random Number: ", rand.randrange(1, 99, 1))

# Pass first two arguments in randrange()
print("Second Random Number: ", rand.randrange(1, 99)) # Default step = 1

结果是:

Bash
First Random Number:  18
Second Random Number:  77

Randint() 表示包含范围

randint() 函数有点类似于 randrange()。它也从范围中生成一个随机整数。但是,它略有不同:

  • Randint() 有两个必需的参数:start 和 stop
  • 它有一个包含范围,即可以返回两个端点作为随机输出。

语法

Bash
# random module's randint() function
random.randint(start, stop)

此函数在生成随机输出时考虑开始值和结束值。

示例:Randint() 与 Seed() 演示打印随机数

Bash
import random as rand

# Generate random number using randint()

# Simple randint() example
print("Generate First Random Number: ", rand.randint(10, 100))

# randint() along with seed()
rand.seed(10)
print("Generate Second Random Number: ", rand.randint(10, 100))

rand.seed(10)
print("Repeat Second Random Number: ", rand.randint(10, 100))

结果如下:

Bash
Generate First Random Number:  14
Generate Second Random Number:  83
Repeat Second Random Number:  83

random() 生成随机浮点数

它是Python随机模块最基本的功能之一。它计算一个介于 0 和 1 之间的随机浮点数。

此函数具有以下语法:

语法

Bash
# random() function to generate a float number
random.random()

示例:Python 随机生成浮点数

Bash
import random as rand

# Generate random number between 0 and 1

# Generate first random number
print("First Random Number: ", rand.random())

# Generate second random number
print("Second Random Number: ", rand.random())

以下是执行后的输出:

Bash
First Random Number:  0.6448613829842063
Second Random Number:  0.9482605596764027

Seed() 重复随机数

seed() 方法允许保留 random() 函数的状态。这意味着一旦你设置了一个种子值并调用random()。然后,Python 将给定的种子映射到此操作的输出。

因此,每当您调用具有相同值的 seed() 时,后续的 random() 都会返回相同的随机数。

语法

Bash
# random seed() function
random.seed([seed value])

种子是可选字段。其默认值为 None,表示使用系统时间进行随机操作。

示例:如何将 Seed() 与 random() 一起使用

Bash
import random as rand

# Generate random number using seed()

# Using seed() w/o any argument
rand.seed()
print("Generate First Random Number: ", rand.random())
rand.seed()
print("Generate Second Random Number: ", rand.random())

# Using seed() with an argument
rand.seed(5)
print("Generate Third Random Number: ", rand.random())
rand.seed(5)
print("Repeat Third Random Number: ", rand.random())

以下是执行结果:

Bash
Generate First Random Number:  0.6534144429163206
Generate Second Random Number:  0.4590722400270483
Generate Third Random Number:  0.6229016948897019
Repeat Third Random Number:  0.6229016948897019

请注意,您甚至可以将 seed() 与其他 Python 随机函数(如 randint() 或 randrange() 配对。

Uniform() 生成随机浮点数

uniform() 函数从给定范围内计算一个随机浮点数。指定范围需要两个参数。

第一个参数包含随机处理。

语法

Bash
# random uniform() function
random.uniform(start, stop)

此函数提供满足开始 <= r <停止的随机结果 (r)。另外,请注意,启动和停止参数都是强制性的。

示例:使用 uniform() 的 Python 随机数

Bash
import random as rand

# Generate random float number using uniform()

# Simple randint() example
print("Generate First Random Float Number: ", rand.uniform(10, 100))
print("Generate Second Random Float Number: ", rand.uniform(10, 100))

执行后的结果为:

Bash
Generate First Random Float Number:  20.316562022174068
Generate Second Random Float Number:  27.244409254588806

相关文章

python中随机模块random的用法_pythonrandom随机数的用法

Python 有一个可用于制作随机数的内建模块。现在总结归纳一下,方便大家查询学习random 模块有一组如下的方法:序号方法描述1seed()初始化随机数生成器。2getstate()返回随机数生成...

在PLC中生成随机数_在plc中生成随机数的代码

有时为了某些测试需求,需要仿真产生一些数据。这时,我们可以通过调取指令或自行编写程序来生成这些随机数据。以下以博途为例,简要说明了随机数产生的几种方式:一、读取系统时间的纳秒作为随机数以固定周期直接将...

玩转 Python 中的随机数_python编程随机数

开发中我们经常遇到需要随机数的场景,比如为了用户密码更安全我们有时会加盐,也就是将用户原密码连接上一串随机字符然后加密保存,又比如我们可能需要随机展示某张图片等等。今天,我们就来理一理 Python...

一日一技:Python 中的random模块_python random模块详解

Python 中的random模块Python随机模块教程展示了如何在Python中生成伪随机数。随机数发生器随机数生成器(RNG)生成一组值,这些值在外观上不显示任何可区分的模式。随机数发生器分为两...

[编程基础] Python随机数生成模块总结

Python随机数生成模块教程演示如何在Python中生成伪随机数。文章目录1 介绍1.1 随机数字生成器1.2 Python random 模块1.3随机种子2 使用2.1 Python rando...

Python启航:30天编程速成之旅(第21天)- random

喜欢的条友记得关注、点赞、转发、收藏,你们的支持就是我最大的动力源泉。前期基础教程:「Python3.11.0」手把手教你安装最新版Python运行环境讲讲Python环境使用Pip命令快速下载各类库...