random.random() で使用されるシードを照会するにはどうすればいいですか? 質問する

random.random() で使用されるシードを照会するにはどうすればいいですか? 質問する

Python が乱数ジェネレーターのシードに使用したシードを確認する方法はありますか?

独自のシードを指定できることは知っていますが、Python がそれを管理してくれるので満足しています。ただし、特定の実行で得られた結果が気に入った場合、後でその実行を再現できるように、使用されたシードを知りたいです。使用されたシードがあれば、再現できます。

答えが「できない」の場合、自分でシードを生成する最善の方法は何ですか? 実行ごとにシードが常に異なるようにしたいのですが、何が使用されたかだけを知りたいのです。

ベストアンサー1

ジェネレータから自動シードを戻すことはできません。通常、次のようにシードを生成します。

seed = random.randrange(sys.maxsize)
rng = random.Random(seed)
print("Seed was:", seed)

この方法は時間ベースなので、スクリプトを(手動で)実行するたびに結果が異なりますが、複数のジェネレーターを使用している場合は、ほぼ同時に作成されるため、同じシードにはなりません。

おすすめ記事