所以我对python相当陌生。
我正在尝试创建一个具有唯一随机值的列表,这些随机值与列表中的每个其他随机值至少相差一个给定因子,并且都以两个值为界。
例如,我想要一个类似的列表:
randVals = [24, 418, 100, 286, 350]
其中每个值彼此之间的唯一性至少为给定因子 64。
现在,我的代码:
import random
x = [1, 2, 3, 4, 5]
randVals = [0] * (len(x) + 1)
factor = 64
print(randVals)
for i in range(len(randVals) - 1):
randVals[i] = random.randint(10, 502)
while randVals[i + 1] - factor <= randVals[i] <= randVals[i + 1] + factor:
randVals[i] = random.randint(10, 502)
print(randVals)
randVals.pop(len(x))
print(randVals)
输出:
[0, 0, 0, 0, 0, 0]
[494, 0, 0, 0, 0, 0]
[494, 144, 0, 0, 0, 0]
[494, 144, 489, 0, 0, 0]
[494, 144, 489, 342, 0, 0]
[494, 144, 489, 342, 361, 0]
[494, 144, 489, 342, 361]
沧海一幻觉
哔哔one
相关分类