[PYTHON] Simulation de comp gacha

À propos du cas où tous sortent avec la même probabilité n est le nombre d'éléments gacha sn est le nombre d'essais

# -*- coding: utf-8 -*-
import math
import random
import numpy as np
import time

start = time.time()

n = 100
sn = 10000

print("Comp Gacha Simuler(%d article)" % n)
print("Valeur logique: {0:.5f}".format(sum([float(n) / i for i in range(1, n+1)])))

ress = []
for j in range(sn):
    box = []
    k = 0
    i = 0
    while(i < n):
        k += 1
        r = random.randrange(n)
        if r not in box:
            i += 1
            box.append(r)
    ress.append(k)
res = np.mean(ress)
print("Valeur de simulation: {0:.5f} [{1}Fois]".format(res, sn))
print("- exec time: %d ms-" % (time.time() * 1000 - start * 1000))

Exemple de résultat

Comp Gacha Simuler(100 éléments)
Valeur logique: 518.73775
Valeur de simulation: 516.38000 [10000 fois]
- exec time: 7640 ms-
Comp Gacha Simuler(10 éléments)
Valeur logique: 29.28968
Valeur de simulation: 29.32320 [100 000 fois]
- exec time: 2775 ms-

Recommended Posts

Simulation de comp gacha
Simulation simple de l'infection virale
Simulation du contenu du portefeuille
Compréhension complète de la programmation asynchrone Python
Compréhension complète de la programmation orientée objet de Python
Complétez tout avec Jupyter ~ Introduction de nbdev ~
Gacha écrit en python-Practice 2 ・ Bases du step-up gacha-