Pythonのランダムで選んだものが被ったら再抽選するようにしたい。職人たち求む

1 : 2020/09/22(火) 00:27:06.355 ID:3om/WryVd
なんのモジュール使えばできるんだ?
検索してもランダムの重複の有無ばかりでわからん~
2 : 2020/09/22(火) 00:28:11.499 ID:3om/WryVd
あげ
3 : 2020/09/22(火) 00:28:15.079 ID:3om/WryVd
あへ
6 : 2020/09/22(火) 00:28:53.363 ID:c4oFp0or0
一度選んだものを適当なリストにappendしてけばとりあえず動くのは作れるんじゃねーの
7 : 2020/09/22(火) 00:29:35.470 ID:HCSLFB1j0
while文とかで被ったらやり直す
それかもともと被らないような抽選方法にする
8 : 2020/09/22(火) 00:30:07.215 ID:hlc4XlQw0
whileしかなくね
9 : 2020/09/22(火) 00:30:24.049 ID:OC9MstWz0
選ぶもののリストシャッフルして必要個数とっちゃダメなの
12 : 2020/09/22(火) 00:32:15.643 ID:MOJl9fnNd
>>9
これ
16 : 2020/09/22(火) 00:33:05.639 ID:3om/WryVd
>>12
一日一回抽選するコード書いて、昨日のと同じ物が選ばれないようにしたい
22 : 2020/09/22(火) 00:35:47.588 ID:qG7P0oXc0
>>16
最初だけシャッフルして後は順番に取り出せばよくね
23 : 2020/09/22(火) 00:39:27.604 ID:97dnG8gq0
>>16
この定義だと昨日と同じ出さえなければいいから昨日の値を覚えといて同じなら再度選ぶようにすればいい

はい、解決

28 : 2020/09/22(火) 00:44:40.650 ID:3om/WryVd
>>23
これはappend とwhile?
32 : 2020/09/22(火) 00:47:01.633 ID:97dnG8gq0
>>28
appendの意味がわからんが変数一個でいい
14 : 2020/09/22(火) 00:32:21.694 ID:eqpezwhMd
>>9
整数でいいならこれ
27 : 2020/09/22(火) 00:43:44.203 ID:3om/WryVd
すまん>>9がわからない…
必要個数が一回につき一個だから変わらないんじゃないのか?
29 : 2020/09/22(火) 00:45:08.219 ID:eqpezwhMd
>>27
今回の例には適してない
これは過去に出た結果すべてと被らないようにする方法
31 : 2020/09/22(火) 00:46:02.574 ID:3om/WryVd
>>29
サンキュ
10 : 2020/09/22(火) 00:30:44.588 ID:YtaJ6QEi0
既に使ったやつをハッシュに詰めとけば
11 : 2020/09/22(火) 00:30:51.169 ID:YFWkLdSL0
コードうpしてくれないとなんもアドバイスできん
13 : 2020/09/22(火) 00:32:21.070 ID:3om/WryVd
appendした被りと照合→かぶった場合をwhileで記述っって認識であってる?
15 : 2020/09/22(火) 00:32:59.927 ID:QG6JNwjv0
rangeで数値のリスト作ってリストの全数を範囲にしてrandam取ってpopしながらぐるぐる回せ
17 : 2020/09/22(火) 00:33:16.877 ID:aKmvwAlH0
抽選した物といちいち照らし合わせると処理時間が長くなるから、抽選元の各データに抽選済みフラグつけといて、フラグ建ってるの引いたら再抽選っていう風にした方がいいと思う
19 : 2020/09/22(火) 00:35:22.479 ID:YFWkLdSL0
>>17
これだな
そもそもランダムなのに被ったらダメってのもどうなんだって感じだが
20 : 2020/09/22(火) 00:35:28.986 ID:3om/WryVd
>>17
そんなパターンもあるのか
全てがフラグ付きになったらリセットするの?
24 : 2020/09/22(火) 00:39:51.161 ID:aKmvwAlH0
>>20
MAX要素数とフラグ付き要素数入れた項目もくっつけといて、MAXまで抽選したらwhile抜けてリセットなり全部抽選したから終了するなりさせたい動作を仕込めばいい
18 : 2020/09/22(火) 00:34:27.825 ID:c4oFp0or0
まあ処理時間とかはひとまず動くものが出来てからでも
21 : 2020/09/22(火) 00:35:30.024 ID:eqpezwhMd
weightedな選択できるから前日の結果の重みを0にすればいい
26 : 2020/09/22(火) 00:41:26.425 ID:YtaJ6QEi0
>>21
要素によって選択される確率変えられるのか
すげー便利だね
30 : 2020/09/22(火) 00:45:37.925 ID:3om/WryVd
weightとかflagとか新しいモジュールに出会えて嬉しい
それぞれググって検討してみます

コメント

タイトルとURLをコピーしました