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

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

在本文中,我们将展示如何在python中从范围中随机选择。下面是实现此任务的各种方法 –

  • 使用random.randrange()函数

  • 使用random.randint()函数

  • 使用random.random()函数

  • 使用random.sample()函数

使用random.randrange()函数

步骤

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

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

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

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

示例

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

# importing random module
import random
print('Random Numbers from 1 to 50 are:')

# getting a random number from 1 to 50
x=random.randrange(1,50)
print(x)

# getting an alternative(odd number) random number from 1 to 50
y=random.randrange(1,50,2)
print(y)

输出

执行上述程序后,将产生以下输出 –

Random Numbers from 1 to 50 are:
28
9

使用random.randint()

步骤

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

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

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

  • 打印生成的随机数。

示例

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

# importing random module
import random

# Giving a lower limit value of the range
lowerLimit = 1

# Giving a higher limit value of the range
higherLimit = 50
print('Random Number from',lowerLimit,'and',higherLimit,'is:')

# getting a random number from 1 to 50
x=random.randint(1,50)

# printing the generated random number
print(x)

输出

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

Random Number from 1 and 50 is:
18

使用random.random()函数

步骤

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

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

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

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

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

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

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

  • 返回生成的随机数。

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

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

示例

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

# importing random module
import random

# creating a function that returns random numbers by
# accepts the range of minimum and maximum numbers
def getRandom(minimum, maximum):

   # getting the difference between maximum and minimum
   diff = maximum - minimum

   # generating a random number using the random function
   randomNumber = random.random()

   # Multiplying a random number with a difference and converting it to an integer
   randomNumber = int(randomNumber * diff)

   # adding a random number with a minimum value
   randomNumber = randomNumber + minimum

   # returning the random number
   return randomNumber

# Giving a lower limit value of the range
lowerLimit = 1

# Giving a higher limit value of the range
higherLimit = 50
print('Random Number from',lowerLimit,'and',higherLimit,'is:')

# Passing lower limit and higher limit values as arguments to getRandom() function
print(getRandom(10,100))

输出

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

Random Number from 1 and 50 is:
12

使用random.sample()

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

语法

random.sample(sequence, k)

参数

  • sequence − 任何序列,如列表、元组等。

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

步骤

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

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

  • 输入要生成的随机项的数量。

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

The random.sample() method returns a list containing a randomly selected number of elements from a sequence.

语法

random.sample(sequence, k)
  • 打印生成的随机数列表。

示例

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

# importing random module
import random

# Giving a lower limit value of the range
lowerLimit = 1

# Giving a higher limit value of the range
higherLimit = 50
print('Random Number from',lowerLimit,'and',higherLimit,'is:')

# Entering the number of random items to be generated
k=5

# generarting 5 random numbers between the lower limit and higher limit
randomList = random.sample(range(lowerLimit, higherLimit),k)

# printing the list of 5 random numbers
print(randomList)

输出

执行上述程序后,将生成以下输出结果 –

Random Number from 1 and 50 is:
[24, 32, 6, 29, 28]

结论

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

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程