# -*- 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()
三门问题 python
最新推荐文章于 2024-02-03 18:46:16 发布