Python 如何为序列中的特定选择生成种子值
我有这些整数的列表 列表=[10,20,30,40,50,60,70,80,90,100] 我如何生成一个种子值(a)与Random.seed(a)模块一起使用,以获得一个特定的结果(在本例中是数字70)?Python 如何为序列中的特定选择生成种子值,python,python-3.x,list,random,random-seed,Python,Python 3.x,List,Random,Random Seed,我有这些整数的列表 列表=[10,20,30,40,50,60,70,80,90,100] 我如何生成一个种子值(a)与Random.seed(a)模块一起使用,以获得一个特定的结果(在本例中是数字70)? 我想在传递list参数时调用random.choice函数。i、 随机选择(列表)。我需要将种子设置为特定值,以获得70的结果。 我可以使用种子值在非整数类型列表中生成特定结果吗?如果可以,如何生成?在种子工作时(至少在我的python实现中)0 如果不是这样的话,我只会测试(蛮力强制)更多
我想在传递list参数时调用random.choice函数。i、 随机选择(列表)。我需要将种子设置为特定值,以获得70的结果。
我可以使用种子值在非整数类型列表中生成特定结果吗?如果可以,如何生成?在种子工作时(至少在我的python实现中)
0
如果不是这样的话,我只会测试(蛮力强制)更多的种子,直到达到预期的结果
可用于任何类型的序列。作为种子工作(至少在我的python实现中)
0
如果不是这样的话,我只会测试(蛮力强制)更多的种子,直到达到预期的结果
可以在任何类型的序列上使用。我不确定这是否是你的意思,但使用暴力:
随机导入
def随机_种子(列表,编号):
s=0
尽管如此:
随机种子
if List[random.randint(0,len(List))]==编号:
返回s
s+=1
列表=[10,20,30,40,50,60,70,80,90,100]
打印(“种子:,随机种子(列表,70))
输出:
seed: 0
我不知道你是不是这个意思,但使用暴力:
随机导入
def随机_种子(列表,编号):
s=0
尽管如此:
随机种子
if List[random.randint(0,len(List))]==编号:
返回s
s+=1
列表=[10,20,30,40,50,60,70,80,90,100]
打印(“种子:,随机种子(列表,70))
输出:
seed: 0
您可以使用:
from random import Random
def get_seed(my_list, wanted_element):
seed = 0
while True:
rnd = Random(seed)
if rnd.choice(my_list) == wanted_element:
return seed
seed += 1
print(get_seed(List, 70)
输出:
0
测试:
您可以使用:
from random import Random
def get_seed(my_list, wanted_element):
seed = 0
while True:
rnd = Random(seed)
if rnd.choice(my_list) == wanted_element:
return seed
seed += 1
print(get_seed(List, 70)
输出:
0
测试:
我不认为这是完全可行的,除非你使用一个定制的,糟糕的随机数发生器。我不确定我是否理解这个问题
random.seed
始终不返回任何值,因此不能使其返回70。或者您的意思是在调用random.seed
之后,您正在从random
调用另一个函数?你在调用哪一个?我想在传递list参数时调用random.choice函数。i、 随机选择(列表)。我需要将种子设置为一个特定的值,以获得70的结果。我不认为这是完全可行的,除非您使用自定义的、糟糕的随机数生成器。我不确定我是否理解这个问题random.seed
始终不返回任何值,因此不能使其返回70。或者您的意思是在调用random.seed
之后,您正在从random
调用另一个函数?你在调用哪一个?我想在传递list参数时调用random.choice函数。i、 随机选择(列表)。我需要将种子设置为特定值以获得70的结果。有趣的是,对于List=[70]
,任何种子都应该是好的。当种子值设置为0即random.seed(0)时,random.randint始终会得到70。List[random.randint(0,len(List))]结果为70。我还使用该方法来确定列表中其他数字的种子值。谢谢。有趣的是,对于list=[70]
,它失败了,因为任何种子都应该是好的。当种子值设置为0即random.seed(0)时,random.randint总是得到70。List[random.randint(0,len(List))]结果为70。我还使用该方法确定列表中其他数字的种子值。谢谢。