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