Python 生成不重复的随机数

Python 生成不重复的随机数

Python 生成不重复的随机数

在编程过程中,我们经常遇到需要生成一定范围内指定数量的不重复的随机数的情况。本文将介绍如何使用Python来实现这个功能。

方法一:使用random.sample()

Python的random模块中提供了一个非常方便的函数random.sample(),可以从指定范围内生成指定数量的不重复随机数。

import random

def generate_unique_numbers(start, end, count):
    if end - start + 1 < count:
        return "无法生成指定数量的不重复随机数!"
    else:
        return random.sample(range(start, end+1), count)

start = 1
end = 10
count = 5

result = generate_unique_numbers(start, end, count)
print(result)
Python

在上面的示例中,我们定义了一个函数generate_unique_numbers(),它接受三个参数,分别是指定范围的起始值start、结束值end和需要生成的不重复随机数数量count。然后使用random.sample()函数生成指定数量的不重复随机数,并将结果打印出来。

示例1: 输入 1 10 5

运行结果:
[8, 1, 5, 9, 6]

方法二:使用集合(Set)

除了使用random.sample()函数,我们还可以借助Python的集合(Set)来生成不重复的随机数。集合中的元素是唯一的,因此可以确保生成的随机数不重复。

import random

def generate_unique_numbers(start, end, count):
    if end - start + 1 < count:
        return "无法生成指定数量的不重复随机数!"

    numbers = set()
    while len(numbers) < count:
        numbers.add(random.randint(start, end))

    return list(numbers)

start = 1
end = 10
count = 5

result = generate_unique_numbers(start, end, count)
print(result)
Python

在上面的示例中,我们定义了一个函数generate_unique_numbers(),同样接受三个参数,利用集合的特性来确保生成的随机数不重复,并最终打印出结果。

示例2: 输入 1 10 5

运行结果:
[8, 4, 10, 2, 7]

通过以上两种方法,我们可以实现在指定的整数范围内生成指定数量的不重复随机数。这在很多实际应用中都非常有用,例如密码生成、随机抽奖等场景都可能用到。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册