[PYTHON] Simulation von Comp Gacha

Über den Fall, dass alle mit der gleichen Wahrscheinlichkeit herauskommen n ist die Anzahl der Gacha-Gegenstände sn ist die Anzahl der Versuche

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

start = time.time()

n = 100
sn = 10000

print("Comp Gacha Simulieren(%d Artikel)" % n)
print("Logischer Wert: {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("Simulationswert: {0:.5f} [{1}Mal]".format(res, sn))
print("- exec time: %d ms-" % (time.time() * 1000 - start * 1000))

Ergebnisbeispiel

Comp Gacha Simulieren(100 Artikel)
Logischer Wert: 518.73775
Simulationswert: 516.38000 [10000 mal]
- exec time: 7640 ms-
Comp Gacha Simulieren(10 Artikel)
Logischer Wert: 29.28968
Simulationswert: 29.32320 [100.000 Mal]
- exec time: 2775 ms-

Recommended Posts

Simulation von Comp Gacha
Einfache Simulation einer Virusinfektion
Simulation des Inhalts der Brieftasche
Vollständiges Verständnis der asynchronen Python-Programmierung
Vollständiges Verständnis der objektorientierten Programmierung von Python
Vervollständige alles mit Jupyter ~ Einführung von nbdev ~
Gacha geschrieben in Python-Übung 2 ・ Grundlagen der Step-up-Gacha-