当前位置:首页 > 编程技术 > 正文

如何产生不重复随机数

如何产生不重复随机数

产生不重复随机数可以通过以下几种方法实现: ```python import random random_numbers = random.sample(range(1...

产生不重复随机数可以通过以下几种方法实现:

```python

import random

random_numbers = random.sample(range(1, 101), 100)

print(random_numbers)

```

这个函数会从指定的范围内抽取不重复的随机数。

2. 手动实现:

```python

import random

def generate_unique_random(start, end, count):

if count > (end start + 1):

raise ValueError("Count exceeds the number of unique numbers in the range.")

numbers = list(range(start, end + 1))

random_numbers = []

while len(random_numbers) < count:

rand_num = random.choice(numbers)

if rand_num not in random_numbers:

random_numbers.append(rand_num)

return random_numbers

unique_random_numbers = generate_unique_random(1, 100, 10)

print(unique_random_numbers)

```

3. Fisher-Yates洗牌算法:

```python

def fisher_yates_shuffle(arr):

for i in range(len(arr) 1, 0, -1):

j = random.randint(0, i)

arr[i], arr[j] = arr[j], arr[i]

return arr

numbers = list(range(1, 101))

random.shuffle(numbers)

unique_random_numbers = numbers[:10]

print(unique_random_numbers)

```

以上方法都可以产生不重复的随机数。根据具体的应用场景和需求,可以选择最适合的方法。

最新文章