Python生成随机数

生成一个Python随机数

6 分钟阅读

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

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

初学者的 Python 随机数教程

Python生成随机数

Python随机数生成器

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

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

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

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

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

Randrange() 生成一个随机数

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

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

语法

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

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

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

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

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

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

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

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

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

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

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

输出为:

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

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

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

结果是:

First Random Number: 18 Second Random Number: 77

Randint() 表示包含范围

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

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

语法

# random modules randint() function random.randint(start, stop)

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

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

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))

结果如下:

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

random() 生成随机浮点数

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

此函数具有以下语法:

语法

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

示例:Python 随机生成浮点数

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())

以下是执行后的输出:

First Random Number: 0.6448613829842063 Second Random Number: 0.9482605596764027

Seed() 重复随机数

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

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

语法

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

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

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

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())

以下是执行结果:

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() 函数从给定范围内计算一个随机浮点数。指定范围需要两个参数。

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

语法

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

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

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

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))

执行后的结果为:

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

免责声明:文章内容来自互联网,本站仅提供信息存储空间服务,真实性请自行鉴别,本站不承担任何责任,如有侵权等情况,请与本站联系删除。
转载请注明出处:Python生成随机数 https://www.bxbdf.com/a/181299.shtml

上一篇 2025-04-15 20:17:17
下一篇 2025-04-15 20:24:13

猜你喜欢

联系我们

在线咨询: QQ交谈

邮件:362039258#qq.com(把#换成@)

工作时间:周一至周五,10:30-16:30,节假日休息。