import random
def coin_toss():
"""模拟掷硬币,返回正面或反面"""
return random.choice(['正面', '反面'])
def main():
# 设置试验参数
total_runs = 5 # 总轮数
tosses_per_run = 100 # 每轮掷硬币次数
# 初始化总体统计
overall_heads = 0
overall_tails = 0
print(f"将进行 {total_runs} 轮试验,每轮 {tosses_per_run} 次掷硬币\n")
for run in range(1, total_runs + 1):
# 执行单轮试验
heads_count = 0
for _ in range(tosses_per_run):
result = coin_toss()
if result == '正面':
heads_count += 1
tails_count = tosses_per_run - heads_count
# 更新总体统计
overall_heads += heads_count
overall_tails += tails_count
# 计算本轮比例
heads_ratio = heads_count / tosses_per_run * 100
tails_ratio = tails_count / tosses_per_run * 100
# 输出本轮结果
print(f"第 {run} 轮结果:")
print(f" 正面出现 {heads_count} 次 ({heads_ratio:.2f}%)")
print(f" 反面出现 {tails_count} 次 ({tails_ratio:.2f}%)\n")
# 计算总体比例
total_tosses = total_runs * tosses_per_run
overall_heads_ratio = overall_heads / total_tosses * 100
overall_tails_ratio = overall_tails / total_tosses * 100
# 输出总体结果
print(f"===== 总体统计 =====")
print(f"共掷硬币 {total_tosses} 次")
print(f"正面出现 {overall_heads} 次 ({overall_heads_ratio:.2f}%)")
print(f"反面出现 {overall_tails} 次 ({overall_tails_ratio:.2f}%)")
if __name__ == "__main__":
main()