symbol_pay_table = { "A": { "max_cascade": 15, "15+": 150.0, "14": 70.0, "13": 35.0, "12": 15.0, "11": 7.5, "10": 5.0, "9": 2.5, "8": 2.0, "7": 1.75, "6": 1.5, "5": 1.0, }, "B": { "max_cascade": 15, "15+": 100.0, "14": 60.0, "13": 30.0, "12": 12.5, "11": 6.0, "10": 4.0, "9": 2.0, "8": 1.5, "7": 1.25, "6": 1.0, "5": 0.75, }, "C": { "max_cascade": 15, "15+": 60.0, "14": 40.0, "13": 20.0, "12": 10.0, "11": 4.5, "10": 3.0, "9": 1.5, "8": 1.25, "7": 1.0, "6": 0.75, "5": 0.5, }, "D": { "max_cascade": 15, "15+": 40.0, "14": 20.0, "13": 10.0, "12": 5.0, "11": 3.0, "10": 2.0, "9": 1.25, "8": 1.0, "7": 0.75, "6": 0.5, "5": 0.4, }, "E": { "max_cascade": 15, "15+": 30.0, "14": 15.0, "13": 8.0, "12": 3.5, "11": 2.5, "10": 1.5, "9": 1.0, "8": 0.75, "7": 0.5, "6": 0.4, "5": 0.3, }, "F": { "max_cascade": 15, "15+": 25.0, "14": 12.0, "13": 6.0, "12": 3.0, "11": 2.0, "10": 1.25, "9": 0.75, "8": 0.5, "7": 0.4, "6": 0.3, "5": 0.25, }, "G": { "max_cascade": 15, "15+": 20.0, "14": 10.0, "13": 5.0, "12": 2.5, "11": 1.5, "10": 1.0, "9": 0.5, "8": 0.4, "7": 0.3, "6": 0.25, "5": 0.2, }, } def get_symbol_pay(symbol: str, cluster_size: int) -> float: if symbol not in symbol_pay_table: raise ValueError(f"Unknown symbol: {symbol}") """根据符号和连锁大小获取赔付倍数""" if cluster_size >= symbol_pay_table[symbol]["max_cascade"]: return symbol_pay_table[symbol][f'{symbol_pay_table[symbol]["max_cascade"]}+'] elif str(cluster_size) in symbol_pay_table[symbol]: return symbol_pay_table[symbol][str(cluster_size)] else: return 0.0 if __name__ == "__main__": reward = set() for symbol in symbol_pay_table: for key in symbol_pay_table[symbol]: if key != "max_cascade": reward.add(symbol_pay_table[symbol][key]) reward = list(reward) sorted_reward = sorted(reward) print(sorted_reward) max_score=2000 a = 0 b=0 c=0 max_a = max_score/0.2 max_b = max_score/0.25 max_c = max_score/0.3 print(f"{max_a}*{max_b}*{max_c}/1000000={max_a*max_b*max_c/1000000}") # avaiable_reward = a*0.2 + b*0.25 + c*0.3