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

更新于: 2022-11-09

6K+ 次查看

启动您的职业生涯

通过完成课程获得认证

开始
广告