python开发节目程序_Python编程(电视节目),python,题,TV,秀

该博客通过Python模拟了一个电视节目,选手从三扇门中选择一扇,其中一扇有奖品。主持人打开剩余两扇中的空门,探讨了选手改变选择与坚持原选择的中奖概率。通过随机数生成和循环计算,得出改变选择的中奖概率和坚持原选择的中奖概率,并展示了模拟结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目:一个选手去参见TV秀,三扇门后面,只有一扇门有奖品,这扇门只有主持人知道。当选手选择一扇门之后,主持人会打开其余两扇门中的一扇空门,问选手是否坚持最初的选择。

请计算改变最初选择之后的中奖概率和坚持最初选择之后的中奖概率。

示例代码:

import numpy as np

import numpy.random as random

random.seed(42)

test_num = 10000

winning_doors = random.randint(0, 3, test_num)

changed_mind_num = 0

insist_num = 0

for winning_door in winning_doors:

first_try = random.randint(0, 3)

remaing_choices = [i for i in range(3) if i != first_try]

wrong_choices = [i for i in range(3) if i != winning_door]

if first_try in wrong_choices: #如果first_try在wrong_choices列表中

wrong_choices.remove(first_try)

screened_out = random.choice(wrong_choices)

remaing_choices.remove(screened_out)

changed_mind_try = remaing_choices[0]

changed_mind_num += 1 if changed_mind_try == winning_door else 0

insist_num += 1 if first_try== winning_door else 0

changed_mind_rate = changed_mind_num/test_num

insist_rate = insist_num/test_num

print("change_mind_rate:")

print(changed_mind_rate)

print("insist_rate:")

print(insist_rate)

print("changed_mind_num")

print(changed_mind_num)

print("insist_num")

print(insist_num)

参考链接:

https://blog.youkuaiyun.com/zhangvalue/article/details/94598781

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值