Pondérer chaque élément et effectuer n gachas consécutifs
Les éléments suivants sont préparés comme paramètres
#ID d'article et dictionnaire de poids pour la loterie
item_dic = {"id_1":1,"id_2":5,"id_3":14,"id_4":30,"id_5":50}
#Nombre de loterie
times = 11
import random
def gacha(item_dic, times):
total_weight = 0
for value in item_dic.values():
total_weight += value
results = []
for i in range(times):
results.append(lottery(item_dic,total_weight))
return results
def lottery(item_dic, total_weight):
score = random.randint(1,total_weight)
range_max = 0
for item_key, weight in item_dic.items():
range_max += weight
if score <= range_max:
return item_key
item_list = gacha(item_dic, times)
Je pense qu'il y a une plus belle façon de l'écrire, mais pour le moment.
Recommended Posts