python编程题(TV秀)

题目:一个选手去参见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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值