python代码囚徒困境
时间: 2023-10-13 15:58:33 浏览: 219
囚徒困境是博弈论中的一个经典问题,也可以用Python代码来模拟。在囚徒困境中,两个囚犯分别被关在不同的房间里,警察向他们展示了一份协议书,上面写着如果两个囚犯都保持沉默,则两人都只会被判刑1年;如果其中一个人揭发了另一个人,则揭发者将会被免罪,而被揭发者将会被判10年徒刑;如果两个人都揭发了对方,则两人都将被判刑5年。
下面是一个简单的Python代码实现:
```
def prisoner_dilemma(player1, player2):
if player1 == "betray" and player2 == "betray":
return "Both players get 5 years"
elif player1 == "betray" and player2 == "silent":
return "Player 1 goes free, Player 2 gets 10 years"
elif player1 == "silent" and player2 == "betray":
return "Player 2 goes free, Player 1 gets 10 years"
elif player1 == "silent" and player2 == "silent":
return "Both players get 1 year"
```
其中,player1和player2分别代表两个囚犯的选择,"betray"代表揭发,"silent"代表保持沉默。函数返回的是结果字符串,表示两个囚犯的判刑情况。可以在函数中加入一些随机因素,来模拟囚犯的决策过程。
阅读全文