私はnumpyを使ってPythonでループを作成しようとしています。これは0から20の間で無作為に生成された5つの数値を持つ変数 "times"を与えます。そのリスト内の2つの隣接要素間の違いは1つもありません。これを達成する最良の方法は何ですか?私は最後の2行のコードを試しましたが、これは間違っている可能性が最も高いです。Pythonで乱数生成を制限する
4.25230915 4.36463992 10.35915732 12.39446368 18.46893283
しかし、このようなものは完璧になる:
for j in range(1,6):
times = np.random.rand(1, 5) * 20
times.sort()
print times
da = np.diff(times)
if da.sum < 1: break
例えば、一回の反復のために、これは良いではないでしょう
1.47166904 6.85610453 10.81431629 12.10176092 15.53569052
他の回答の数字の翻訳は明確です –
ありがとう、ハンネス、それは完全に動作し、数字は素晴らしいです!引数を渡した後、xを関数の中でグローバルに、そしてxを外側に印刷しました。 – Spica
いいえ、本当に必要な場合以外は、しないでください。あなたはおそらくそうでないでしょう:)代わりに 'times = uniform_min_range(0、20、5、1.0)'と 'print times'と呼んでください。 –