三门问题 python

# -*- coding: utf-8 -*-
from random import randint
count = 10000
def three_doors():
    counts,changenum,no_changenum,no_change_get_num,change_get_num = 0,0,0,0,0
    #计数  改变次数  没改变次数   没改变时猜对的  改变后的猜对的
    while counts < count:
        list1 = ['sheep', 'sheep', 'car']
        list2 = ["change", "no_change"]
        firstchoice = randint(0, 2)
        secondchoice = randint(0, 1)
        peopleget = list1[firstchoice]
        ischange = list2[randint(0,1)]
        if ischange == "change":
            changenum += 1
            list1.pop(firstchoice)
            list1.remove("sheep")
            if list1[0] == "car":
                change_get_num += 1
        else:
            no_changenum += 1
            if peopleget == "car":
                no_change_get_num += 1
        counts += 1
    a = change_get_num/changenum *100
    b = no_change_get_num/no_changenum * 100
    print("一共测试了 %d 次\n" % count)
    print("改变了 :%d 次\n" % changenum )
    print("猜对的概率为 %f %%\n" % a)
    print("没改变 :%d 次\n" % no_changenum)
    print("猜对的概率为 %f %%\n" % b)
three_doors()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值