如何在Python中从范围内随机选择元素?

如何在Python中从范围内随机选择元素?

在本文中,我们将展示如何在python中随机选择一个范围。以下是完成此任务的各种方法−

  • 使用random.randrange()函数

  • 使用random.randint()函数

  • 使用random.random()函数

  • 使用random.sample()

阅读更多:Python 教程

使用random.randrange()函数

算法(步骤)

以下是要执行所需任务的步骤−

  • 使用import关键字导入random模块。

  • 使用random.randrange()函数(返回指定范围内的随机数字)通过将最小和最大数字作为参数传递来生成给定范围内的随机数字。

  • 通过将开始、停止和步值作为参数传递给randrange()函数,从1到50(步骤2)生成一个随机数量。

示例

以下程序使用random.randrange()函数返回给定范围内的随机数−

# 导入随机模块
import random
print('随机数从1到50是:')

# 从1到50获取一个随机数字
x=random.randrange(1,50)
print(x)

# 从1到50获取另一个(奇数)随机数字
y=random.randrange(1,50,2)
print(y)

输出

在执行上述程序时,将生成以下输出−

随机数从1到50是:
28
9

使用random.randint()

算法(步骤)

以下是要执行所需任务的步骤−

  • 将范围的下限和上限值给定并将它们分别存储在两个单独的变量中。

  • 使用random.randint()函数(返回指定范围内的随机数字)通过将最小和最大数字作为参数传递来生成给定范围内的随机数字。

  • 打印所生成的随机数字。

示例

以下程序使用random.randint()函数返回给定范围内的随机数−

# 导入随机模块
import random

# 给定范围的下限值
lowerLimit = 1

# 给定范围的上限值
higherLimit = 50
print('从',lowerLimit,'到',,'的随机数是:')

# 从1到50获取一个随机数字
x=random.randint(1,50)

# 打印所生成的随机数字
print(x)

输出

在执行上述程序时,将生成以下输出−

从1到50的随机数是:
18

使用random.random()函数

算法(步骤)

以下是执行所需任务的算法/步骤 –

  • 使用import关键字导入random模块。

  • 创建一个名为getRandom()的函数,该函数接受最小和最大数字的范围,并返回一个随机数。

  • 获取最大值和最小值之间的差异。

  • 使用random()函数生成一个随机数(返回0到1之间的浮点值)。

  • 将随机数乘以差异并使用int()函数将其转换为整数。

  • 将生成的随机数与最小值相加。

  • 返回生成的随机数。

  • 将范围的下限和上限值分别给出并将它们存储在两个单独的变量中。

  • 通过将上述下限和上限值作为参数传递给getRandom()函数来调用该函数。

示例

以下程序使用random.random()函数在给定范围内返回随机数 –

# 导入random模块
import random

# 创建一个函数,它通过接受最小和最大数字的范围来返回随机数字
def getRandom(minimum, maximum):

   # 获取最大值和最小值之间的差异
   diff = maximum - minimum

   # 使用random函数生成一个随机数
   randomNumber = random.random()

   # 将随机数乘以差异并将其转换为整数
   randomNumber = int(randomNumber * diff)

   # 将生成的随机数与最小值相加
   randomNumber = randomNumber + minimum

   # 返回随机数
   return randomNumber

# 给出范围的下限值
lowerLimit = 1

# 给出范围的上限值
higherLimit = 50
print('Random Number from',lowerLimit,'and',higherLimit,'is:')

# 将下限和上限值作为参数传递给getRandom()函数
print(getRandom(10,100))

输出

执行以上程序会生成以下输出 –

Random Number from 1 and 50 is:
12

使用random.sample()

random.sample()方法返回一个列表,该列表包含从序列中随机选择的元素。

语法

random.sample(sequence, k)

参数

  • sequence - 任何一个如列表、元组等的序列。

  • k - 要生成的随机项的数量。

算法(步骤)

以下是执行所需任务的算法/步骤 –

* 使用import关键字导入随机模块。 

* 输入要生成的随机项数。 

* 使用random.sample()生成所需数量的随机数,将数字范围(下限和上限),要生成的随机项数作为参数传递给它。 

“`python random.sample()方法返回一个包含从序列中随机选择的元素数量的列表。
“`

语法

“`python random.sample(sequence, k)
“`

* 输出生成的随机数列表。 

示例

以下程序使用 random.random() 函数返回给定范围内的随机数 −

“`python # 导入随机模块
import random

<pre><code># 给定范围的下限值
lowerLimit = 1

# 给定范围的上限值
higherLimit = 50
print('当下限为',lowerLimit,'和上限为',higherLimit,'时的随机数为:')

# 输入要生成的随机项数
k=5

# 在下限和上限范围内生成5个随机数
randomList = random.sample(range(lowerLimit, higherLimit),k)

# 输出5个随机数的列表
print(randomList)
“`

输出

在执行以上程序后,将生成以下输出 −

“`python 当下限为1和上限为50时的随机数为:
[24, 32, 6, 29, 28]
“`

结论

在本文中,我们学习了四种不同的Python方法来从范围中选择随机项。我们还学习了如何使用sample()函数在特定范围内创建 k 个随机数。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程