import random from collections import defaultdict history = [] last_seen_4 = 0 last_seen_5 = 0 def get4star(): if random.randint(1,43) == 43: return "Amber" return "not Amber :(" def gacha(): global last_seen_5 global last_seen_4 GACHA = random.random() if GACHA <= 0.006 or last_seen_5 == 89: last_seen_5 = 0 last_seen_4 = 0 return "some 5 star" elif GACHA <= 0.057 or last_seen_4 == 9: last_seen_4 = 0 last_seen_5 += 1 return get4star() else: last_seen_5 +=1 last_seen_4 +=1 return "nice 3 star sword" history_5_star = defaultdict(int) history_total = [] for i in range(10000): history = [] total_pull = 0 featured_count = 0 while(featured_count < 6): PULL = gacha() total_pull += 1 history += [PULL] if PULL == "Amber": featured_count += 1 history_total += [total_pull] print("Average pulls required for C6 Amber" ,sum(history_total)/len(history_total))