Python模拟微不公平赌博结果
场景
不公平赌博游戏,输的概率51%,赢得概率49%。详细规则为:
100个玩家玩游戏,每个人的初始积分为10000分。每赢一局加100分,每输一局减100分。现在模拟10000局之后的结果。
Python代码(ChatGPT编写)
import random
import matplotlib.pyplot as plt
def roll_dice():
return random.randint(1, 100)
def simulate_game():
num_players = 100
num_games = 10000
# 初始化每个玩家的点数列表
points_history = [[] for _ in range(num_players)]
for player in range(num_players):
starting_points = 10000
for game in range(num_games):
roll_result = roll_dice()
if roll_result <= 51 :
starting_points -= 100
else:
starting_points += 100
# 记录每个玩家每次游戏后的点数
points_history[player].append(starting_points)
return points_history
# 模拟游戏并获取每个玩家的点数历史
points_history = simulate_game()
# 可视化展示
plt.figure(figsize=(12, 8),dpi=600)
plt.axhline(y=10000, color='r', linestyle='-', label='Initial Points')
for player in range(len(points_history)):
plt.plot(points_history[player])
plt.title('Points Over Time for Each Player')
plt.xlabel('Game Number')
plt.ylabel('Points')
plt.legend()
plt.show()
模拟结果
超过95%的人输得很惨!