解决重复的随机值可以使用以下几种方法:
import random
values = set()
def get_unique_random():
while True:
random_value = random.randint(1, 100)
if random_value not in values:
values.add(random_value)
return random_value
import random
available_values = list(range(1, 101))
def get_unique_random():
if not available_values:
raise ValueError("No more unique random values available")
random_index = random.randint(0, len(available_values)-1)
random_value = available_values[random_index]
available_values.pop(random_index)
return random_value
import random
def fisher_yates_shuffle(seq):
for i in range(len(seq)-1, 0, -1):
j = random.randint(0, i)
seq[i], seq[j] = seq[j], seq[i]
def get_unique_random():
values = list(range(1, 101))
fisher_yates_shuffle(values)
return values.pop()
这些方法可以保证生成的随机值不会重复,可以根据实际需求选择适合的方法。
上一篇:避免重复的Sidekiq任务
下一篇:避免重复的图片JS