python解决百万富翁问题
时间: 2024-10-18 07:05:52 浏览: 14
Python 解决百万富翁问题通常是指经典的“蒙提霍尔问题”(Monty Hall Problem),它是一个概率理论和决策分析的经典案例。在这个游戏中,参与者有三扇门,其中一扇门后面有一辆汽车,另外两扇门后面是山羊。参赛者首先选择一扇门,然后主持人会打开一扇他知道有山羊的门,给观众看,并询问参赛者是否想要改变他们的选择。
在 Python 中,你可以通过模拟这个过程来演示这个问题。下面是一个简单的例子:
```python
import random
def monty_hall_game():
doors = [0, 1, 2] # 初始化三扇门
car_position = random.choice(doors) # 随机选定一辆车的位置
# 参赛者第一次选择
player_choice = random.choice(doors)
# 主持人确认并揭开非奖品门
not_car = [door for door in doors if door != car_position]
revealed_door = random.choice(not_car)
print(f"你选择了门 {player_choice},我打开了门 {revealed_door}。")
# 让玩家是否更改选择
switch_choice = input("你想切换到剩下的那扇门吗?(y/n)")
if switch_choice.lower() == 'y':
# 如果切换,检查新选择是否正确
new_choice = doors[doors.index(player_choice) ^ 2] # 唯一未被选和未揭示的门
result = "你赢了!" if new_choice == car_position else "你输了!"
else:
result = "保持原选择" if player_choice == car_position else "你输了!"
return result
# 运行游戏并打印结果
game_result = monty_hall_game()
print(game_result)
阅读全文