Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在单个Def中随机播种_Python_Python 3.x_Function_Random_Random Seed - Fatal编程技术网

Python 在单个Def中随机播种

Python 在单个Def中随机播种,python,python-3.x,function,random,random-seed,Python,Python 3.x,Function,Random,Random Seed,在我的程序中,我试图包含一个随机地点生成器,而不是保存生成的每个地点(供人们探索),我宁愿重用我用来生成地点的种子,尽管这可能与代码的其他部分冲突。是否有一种方法可以在def范围内随机播种?或者至少在文件的范围内?如果stdlib random不可能,那么单独使用一个是否可能?顺便说一下,我正在使用python 3.8。您可以使用random.seed或基于特定seed创建一个新的random对象。例如: >>从随机导入随机 >>>随机发生器=随机(123) >>>randomizer.rand

在我的程序中,我试图包含一个随机地点生成器,而不是保存生成的每个地点(供人们探索),我宁愿重用我用来生成地点的种子,尽管这可能与代码的其他部分冲突。是否有一种方法可以在def范围内随机播种?或者至少在文件的范围内?如果stdlib random不可能,那么单独使用一个是否可能?顺便说一下,我正在使用python 3.8。

您可以使用
random.seed
或基于特定seed创建一个新的
random
对象。例如:

>>从随机导入随机
>>>随机发生器=随机(123)
>>>randomizer.randint(1100)
7.
>>>randomizer.randint(1100)
35
>>>randomizer.randint(1100)
12
我可以用同样的种子再做一次,它会产生同样的随机数

随机发生器=随机(123) >>>randomizer.randint(1100) 7. >>>randomizer.randint(1100) 35 >>>randomizer.randint(1100) 12 >>>随机发生器=随机(123) >>>randomizer.randint(1100) 7. >>>randomizer.randint(1100) 35 >>>randomizer.randint(1100) 12 >>>随机发生器=随机(123) >>>randomizer.randint(1100) 7. >>>randomizer.randint(1100) 35 >>>randomizer.randint(1100) 12
查看Python了解更多详细信息。

@kol老实说,我真的不知道,因为我没有足够的经验了解解决方案,所以他们的投票率似乎下降了很多(尽管这是我在这里提问的原因,因为我可以向你保证我搜索过它)。你能展示一些代码吗?可能是因为没有任何代码,没有人能重现你的问题…@kol,StackOverflow的提问者们都会努力自己找出答案。一个简单的google搜索“python random number seed”指出,“这个模块提供的函数实际上是random.random类的一个隐藏实例的绑定方法。你可以实例化你自己的random实例来获得不共享状态的生成器。”@kol@kol,然后我建议你再次使用。“不要问……你没有试图找到答案的问题(展示你的工作!)”这是程序员帮助其他程序员解决编程问题的地方。如果在你提出要求之前你还没有试着自己解决它,那么你是在要求人们为你做这件事,而不是让他们帮助你做这件事。