如何产生不重复随机数
- 编程技术
- 2025-02-08 06:44:52
- 1
![如何产生不重复随机数](http://xinin56.com/imgs/94.jpg)
产生不重复随机数可以通过以下几种方法实现: ```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)
```
以上方法都可以产生不重复的随机数。根据具体的应用场景和需求,可以选择最适合的方法。
本文链接:http://www.xinin56.com/bian/514595.html
上一篇:广东高考填志愿是什么时候
下一篇:湖北职业技术学院是几本