一个简单的Python函数例题——赌场输赢游戏

       赌场有一种游戏称为“幸运七”,游戏规则是你丢两个骰子,如果其点数之和为7,你就赢7元,如果不是就输1元.请定义一个函数模拟这种游戏,检查赌场的规则是否公平。

import random


def saizi():
    # 产生一个1~7的随机整数
    x = random.randrange(1, 8)
    return x


def lucky7(a, b):
    # a为初始赌资
    # b为准备见好就收的款额
    # c为当前的总钱数
    # i记录赌博次数
    c = a
    i = 0
    while c <= b:
        # 当前总钱数小于预期款额时继续赌博
        d1 = saizi()
        d2 = saizi()
        i += 1

        if d1 + d2 == 7:
            # 如果两个骰子点数之和为7,赢7元
            c += 7
        else:
            # 不为7,输1元
            c -= 1
        print(c, end=" ")

        if c <= 0:
            # 总钱为0则跳出循环
            break
    print("\n%d"%(i))


lucky7(100, 100)

现在就得到了一个可以模拟赌博游戏的函数,现在来测试下100个只想赢7块钱的赌徒中会有几个血本无归

def lucky7(a, b):
    c = a
    i = 0
    kk = 0
    while c <= b:
        d1 = saizi()
        d2 = saizi()
        i += 1

        if d1 + d2 == 7:
            c += 7
        else:
            c -= 1

        if c <= 0:
            kk = 1
            break
    print(c, "\t", i)
    return kk


renshu = 0
for dutu in range(101):
    renshu += lucky7(100, 107)
print(renshu)

前一位是总钱数,后一位是赌博次数

大概也就10个会全部钱数清空这样子

猜你喜欢

转载自blog.csdn.net/Useless_csdn/article/details/84696239