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

liftword4个月前 (02-05)技术文章45

生成一个Python随机数

6 分钟阅读

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

相关文章

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

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

Python实现随机&amp;批量梯度下降算法

一.概述梯度下降属于迭代法的一种,可以用于求解最小二乘问题。在求解机器学习算法的模型参数时,梯度下降(Gradient Descent)是最常采用的方法之一,另一种常用的方法是最小二乘法。在求解损失函...

零基础学python第七天之随机整数randint

我们的目标是:用最短的时间从编程零基础提升到掌握python常用的基本知识。加油!昨天我们的猜数字小游戏实现了多次运行,直到猜中为止,这个小游戏还有一个小不足,就是预设数是固定的,对我们来说,没有什么...

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

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

双色球-使用Python实现双色球选号器随机选号功能

很多彩民经常去彩票店购买彩票,多数时候是机选号码(中不中奖完全看运气!),那么选号机器是怎么随机选中球色和球号呢?今天来和大家分享一个使用python编程软件来实现该功能的小程序。(源码放在文章结尾)...