范围内生成不重复的随机数 python
时间: 2023-09-10 12:01:15 浏览: 172
在Python中生成一定范围内不重复的随机数可以使用random模块的sample函数结合集合(set)来实现。
首先,我们需要导入random模块:
```
import random
```
然后我们定义一个函数,用于生成不重复的随机数。函数的参数包括范围和生成的随机数个数:
```
def generate_unique_random_numbers(start, end, count):
if count > (end - start + 1):
print("生成的随机数个数超过范围")
return
numbers = set()
while len(numbers) < count:
num = random.randint(start, end)
numbers.add(num)
return list(numbers)
```
在函数内部,我们使用一个集合(set)来存储生成的随机数,保证不重复。我们使用while循环不断生成随机数,并将其添加到集合中,直到集合中的元素个数达到要求的count。
最后,我们将集合转为列表,并返回结果。
下面是一个例子,我们生成5个范围在1到10之间的不重复随机数:
```
start = 1
end = 10
count = 5
result = generate_unique_random_numbers(start, end, count)
print(result)
```
输出结果可能是[1, 6, 3, 10, 8],这是范围内的不重复随机数。
阅读全文