Bootstrap

关于花旗骰的思考

CRAPS介绍:

CRAPS又称花旗骰,是美国拉斯维加斯非常受欢迎的一种的桌上赌博游戏。该游戏使用两粒骰子,玩家通过摇两粒骰子获得点数进行游戏。简单的规则是:玩家第一次摇骰子如果摇出了7点或11点,玩家胜;玩家第一次如果摇出2点、3点或12点,庄家胜;其他点数玩家继续摇骰子,如果玩家摇出了7点,庄家胜;如果玩家摇出了第一次摇的点数,玩家胜;其他点数,玩家继续要骰子,直到分出胜负。

python实现代码

from random import randint

money = 1000
while money > 0:
    check = int(input('请下注:'))
    while 0 > check or check > money:
        check = int(input('当前资金%d,请下注:'%money))
    first = randint(1, 6) + randint(1, 6)
    print('first = ', first)
    if (first == 2) or (first == 3) or (first == 12):
        money -= check
        print('you loss')
        print('money: ', money)
        continue
    if first == 7 or first == 11:
        money += check
        print('You Win!')
        print('money: ', money)
    else:
        nextNum = randint(1, 6) + randint(1, 6)
        while nextNum != first and nextNum != 7:
            print('nextNum is : ',nextNum)
            nextNum = randint(1, 6) + randint(1, 6)
        print('nextNum is : ',nextNum)
        
        if nextNum == first:
            money += check
            print('You Win!')
            print('money: ', money)
        else:
            money -= check
            print('you loss')
            print('money: ', money)
print('Money < 0 ,You Out!!')

关于概率层面的思考

第一次投掷

两个骰子间互不干扰,总可能性有6x6=36种,掷出7点的情况有六种(1-6、2-5、3-4、4-3、5-2、6-1),掷出11点的可能性有两种(5-6、6-5),掷出2点的可能性有一种(1-1),掷出3点的可能性有两种(1-2、2-1),掷出12点的可能性有一种(6-6)。综上分析,第一轮中玩家获胜的概率为 (6+2)/(6x6) = 2/9;庄家获胜的概率为 (1+2+1)/(6x6) = 1/9。单看第一轮玩家获胜的概率更大。

第二次投掷

两枚骰子,一共可以掷出2~12共11种可能性,当第一次投掷后既不是玩家获胜也不是庄家获胜时,将进行第二轮投掷。而进行第二轮投掷的概率高达2/3。此时规则变为掷出7时庄家获胜,投掷出与第一次相同的点数时玩家获胜,否则将重新投掷。这时庄家的胜率为 1/6;
在这里插入图片描述

玩家胜率见上图(黄色为第一次投掷分出胜负),此时玩家的概率最高为 (2/3)x(5/36) 小于 (2/3)x(6/36),而玩家的实际胜率为 (1/11)x(1/12 + 1/9 + 5/36)x2 x(1/6) = (1/11)x(2/3)x(1/6),即第二次投掷中玩家的胜率只有1/99。

综合胜率

玩家:2/9 + 1/99 =
庄家:1/9 + 1/9 =

;