python - 在单个 Def 中随机播种
问题描述
在我的程序中,我试图包含一个随机位置生成器,而不是保存生成的每个位置(供人们探索),我宁愿重用我用来生成位置的种子,尽管这可以与我的代码的其他部分冲突。有没有办法可以在def范围内随机播种?或者至少在文件范围内?如果 stdlib random 不可能,是否可以单独使用一个?顺便说一句,我正在使用 python 3.8。
解决方案
您可以使用random.seed
或创建Random
基于特定种子的新对象。例如:
>>> from random import Random
>>> randomizer = Random(123)
>>> randomizer.randint(1, 100)
7
>>> randomizer.randint(1, 100)
35
>>> randomizer.randint(1, 100)
12
我可以使用相同的种子再次执行此操作,它会创建相同的随机数集。
>>> randomizer = Random(123)
>>> randomizer.randint(1, 100)
7
>>> randomizer.randint(1, 100)
35
>>> randomizer.randint(1, 100)
12
>>> randomizer = Random(123)
>>> randomizer.randint(1, 100)
7
>>> randomizer.randint(1, 100)
35
>>> randomizer.randint(1, 100)
12
>>> randomizer = Random(123)
>>> randomizer.randint(1, 100)
7
>>> randomizer.randint(1, 100)
35
>>> randomizer.randint(1, 100)
12
有关更多详细信息,请参阅 Python随机模块。
推荐阅读
- javascript - 如何在 vue 中访问子组件中的值
- reactjs - 如何将标题换行到新行反应原生
- angular - Angular Default Currency Pipe 不与金额一起使用
- arduino - 通过firmata将Modelica与arduino连接起来
- scala - Akka (Scala) - 如何正确重置计时器/调度程序?
- python-3.x - 如何在谷歌分析 python api 中修复 oauth2client.client.HttpAccessTokenRefreshError
- postman - 通过(撇号无头)REST API 插入/更新片段及其字段
- python-3.x - 如何使用美丽的汤从维基百科中提取表格
- javascript - 如何搜索轻量级 JS 包(替代库来替换我的库)?
- python - 使用 counter.collection 将列表中的单词与文本文件进行比较