可能性の重複:
Python's random: What happens if I don't use seed(someValue)?シード()とPython
今日は、私はちょうどより多くの経験を積んだ私よりも、プログラマからseed()
機能について言われました。私は通常、リストとしてのchoice()
を引数として呼び出します。これ以上の乱数機能は必要ありません。
私のプログラマーの友人は、Pythonは常にデフォルトのシードとしてゼロを使って乱数演算を開始するので、コールシードが必要だと教えてくれました。これは、数字がランダムに表示されますが、実際には常に同じシーケンスが得られることを意味します。
これは私をかなり奇妙に感じます。たとえば、choice()
の機能は、実際には機能する前にシードを呼び出さないのでしょうか?あるいは、プログラムで種子を変更できない理由は、それ自体が乱数を選ぶことになるからです。最終目標が乱数を選ぶことも問題であることは明らかです。
私はここでちょっと怒っていますが、これがどのように実装されたかについて誰かが明確に考えているかどうかは疑問です。
これらは、ドキュメント(http://docs.python.org/library/random.html)で学ぶことができるすべてのこと、またはインタプリタで自分自身をテストすることです。 Pythonを実行し、 'random.choice(range(1000))'を2回実行してみてください。あなたは同じ答えを得ますか? –
@MichaelHoffmanあなたはその点を逃した。もちろん、同じPythonプロセスで2回同じ答えを返すことはありません。正しいテストは、2つのプロセスを開き、それぞれを試してみることです。 –
私はそれをあまり書きませんでした。私は、全体の操作(Pythonの実行と機能の実行)を2回行うべきだということを意味していました。 –