如何在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 个随机数。