python编程模拟“幸运七”游戏

img


编写python程序,模拟幸运七游戏,游戏规则是你丢两个骰子,如果其点数之和为七你就赢四元,不是七就输一元,情分析,这样规则是否公平?(输出五次扔十万次的赢的概率)

参考一下这个

import random
import numpy as np

def roll_dice():
    return random.randint(1, 6), random.randint(1, 6)

def play_lucky_seven():
    dice1, dice2 = roll_dice()
    return 4 if dice1 + dice2 == 7 else -1

def simulate_lucky_seven(num_trials):
    results = [play_lucky_seven() for _ in range(num_trials)]
    return np.mean(results)

num_experiments = 5
num_trials = 100000

win_probabilities = [simulate_lucky_seven(num_trials) for _ in range(num_experiments)]
average_win_probability = np.mean(win_probabilities)

print(f"赢的概率(五次扔十万次):{win_probabilities}")
print(f"平均赢的概率:{average_win_probability}")


骰子有6面,每次投掷有6 * 6 = 36种可能的组合。其中,有6种组合可以使点数之和为7(1 + 6,2 + 5,3 + 4,4 + 3,5 + 2,6 + 1)。因此,每次投掷赢得游戏的概率是6/36 = 1/6。

设E(x)表示预期收益,当玩家赢得游戏时,收益为4元,概率为1/6;当玩家输掉游戏时,收益为-1元,概率为5/6。因此,预期收益为:

E(x) = (1/6) * 4 + (5/6) * (-1) = 4/6 - 5/6 = -1/6 ≈ -0.167

预期收益为负数
所以不公平