From 3b25c18b6a1b1a255a2103c910eceffcf37e0251 Mon Sep 17 00:00:00 2001 From: aszerW Date: Mon, 13 Oct 2025 00:57:58 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0odds=E8=BD=AC=E6=A6=82?= =?UTF-8?q?=E7=8E=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bet_calc.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 bet_calc.py diff --git a/bet_calc.py b/bet_calc.py new file mode 100644 index 0000000..616468e --- /dev/null +++ b/bet_calc.py @@ -0,0 +1,22 @@ + + + + +def american_odds_to_probability(odds: int) -> float: + """ + 根据美式赔率计算概率(以小数形式返回) + :param odds: 美式赔率(正数或负数) + :return: 概率(0~1之间的小数) + """ + if odds > 0: + probability = 100 / (odds + 100) + else: + probability = abs(odds) / (abs(odds) + 100) + return probability + +# 示例 +if __name__ == "__main__": + odds_list = [+150, -200, +300, -120] + for odds in odds_list: + prob = american_odds_to_probability(odds) + print(f"赔率 {odds}: 概率 {prob:.4f}") \ No newline at end of file