Random问题

Unity添加C#脚本,打不出来Random.Next,原因是Random自动引用了UnityEngine命名空间,在使用Random的时候要要这么写:System.Random ran=new Ramdom;

转载于:https://www.cnblogs.com/NGZ3D/p/7039716.html

羊车门问题是一个经典的概率问题,也被称为蒙提霍尔问题问题描述如下: 假设你参加一个游戏节目,有三扇门,其中一扇门后面有一辆汽车,其余两扇门后面是两只山羊。你选择其中一扇门,主持人会打开另外一扇门,露出一只山羊。现在,你可以选择是否换另外一扇门。问题是,你是否应该换门才能使得获得汽车的概率更大? 解法: 假设你一开始选择了门A,那么获得汽车的概率是1/3,获得山羊的概率是2/3。主持人打开了门B,露出一只山羊,那么如果你换门,获得汽车的概率就是1/3;如果你不换门,获得汽车的概率就是2/3。 为什么换门可以增加获得汽车的概率呢?因为你一开始选择的门有1/3的概率是汽车,而另外两扇门合起来有2/3的概率是山羊。主持人打开了一扇山羊门后,剩下的两扇门中只有一扇是汽车门,而另外一扇是山羊门,所以如果你换门,获得汽车的概率就是1/3;如果你不换门,获得汽车的概率就是2/3。 Python代码实现: 可以使用random模块模拟游戏过程,来验证上述推论。具体实现如下: ```python import random # 初始化三扇门 doors = ['goat', 'goat', 'car'] # 选择一扇门 my_choice = random.choice(doors) print('You choose door', my_choice) # 主持人打开一扇山羊门 if my_choice == 'goat': open_door = random.choice([i for i in doors if i != my_choice and i != 'goat']) else: open_door = 'goat' print('Host opens door', open_door) # 是否换门 change_choice = input("Do you want to change your choice? (y/n)") if change_choice == 'y': my_choice = [i for i in doors if i != my_choice and i != open_door][0] print('Your final choice is', my_choice) # 判断是否获得汽车 if my_choice == 'car': print('Congratulations! You win a car!') else: print('Sorry, you get a goat.') ``` 运行结果如下: ``` You choose door goat Host opens door goat Do you want to change your choice? (y/n)y Your final choice is car Congratulations! You win a car! ``` 可以看到,如果换门,获得汽车的概率确实是1/3;如果不换门,获得汽车的概率就是2/3。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值