質問するログイン新規登録

回答編集履歴

1

d

2020/07/07 15:50

投稿

tiitoi
tiitoi

スコア21962

answer CHANGED
@@ -1,4 +1,4 @@
1
- > なので、確率と排出物決めるとガチャにセットできるよな仕組みがあれば教えて欲しいです。
1
+ ## numpy 使やり方
2
2
 
3
3
  numpy.random.choice() に確率、排出物、回数を指定すると、結果が得られます。
4
4
 
@@ -15,4 +15,31 @@
15
15
  print(result)
16
16
  # ['2等' '3等' '3等' '2等' '3等' '2等' '2等' '3等' '3等' '2等']
17
17
 
18
+ ```
19
+
20
+ ## random モジュールを使うやり方
21
+
22
+ random.choices() でもできます。
23
+
24
+ ```
25
+ random.choices(population, weights=None, *, cum_weights=None, k=1)
26
+ ```
27
+
28
+ * population: 選択するアイテム一覧
29
+ * weights: 各アイテムを選択する確率
30
+ * k: 選択する数
31
+
32
+ [random --- 擬似乱数を生成する — Python 3.8.4rc1 ドキュメント](https://docs.python.org/ja/3/library/random.html#random.choices)
33
+
34
+
35
+ ```python
36
+ import random
37
+
38
+ items = ["1等", "2等", "3等"] # 内容
39
+ prob = [0.1, 0.3, 0.6] # 確率
40
+ N = 10 # 回数
41
+
42
+ n = random.choices(items, weights=prob, k=N)
43
+ print(n)
44
+ # ['3等', '1等', '2等', '3等', '1等', '2等', '2等', '3等', '3等', '2等']
18
45
  ```