python——赌博胜率

赌博胜率

类型:随机数

描述

A和B两个赌徒各有一百块钱,他们通过抛硬币来赌,正面朝上A赢,B要给A十块钱,反面朝上B赢,A要给B二十块钱,一直持续其中一个人把钱输光为止。

请用随机数计算A和B最后把钱输光的概率各是多少?(结果用百分数表示,保留2位小数)

为评测方便,本题要求用 random.randint(0,1) 的结果表示胜负。

输入格式

输入为英文逗号分隔的 2 个整数, 末尾没有逗号,分别代表随机数种子和随机次数

输出格式

A输光的概率为:%
B输光的概率为:%

示例

输入:

5,1000	

输出:

A输光的概率为:99.60%
B输光的概率为:0.40%

参考答案

这道题当时我没写出来,或者说写出来了,但是输出的结果不对。需要注意细节!

import random

def win():
    moneya = 100
    moneyb = 100
    while moneya > 0 and moneyb > 0:
        r = random.randint(0,1)
        if r == 1:
            moneya = moneya - 20
            moneyb = moneyb + 20
        else:
            moneyb = moneyb - 10
            moneya = moneya + 10
    if moneyb > 0:
        return 1
    else:
        return 0
        
s,n = map(int,input().split(','))
losta = 0
random.seed(s)
for i in range(n):
    if win():
        losta = losta + 1
print('A输光的概率为:{:.2f}%'.format(losta/n * 100))
print('B输光的概率为:{:.2f}%'.format((1 - losta/n) * 100))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

m0_62488776

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值