You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

开发双硬币同时抛掷模拟计分程序的技术需求问询

硬币抛掷模拟程序开发指南

核心需求

我需要开发一款模拟同时抛掷两枚硬币的程序,核心目标是按照特定规则统计得分,并且支持自定义游戏局数和每局抛掷次数。

计分规则

  • 两枚均为正面(heads):A组得1分
  • 两枚均为反面(tails):B组得1分
  • 结果不同(一正一反):教授(Prof)得1分

输入要求

程序需要接收两个用户输入:

  • 游戏局数:控制总共运行多少轮独立的游戏
  • 每局抛掷次数:控制单轮游戏中,两枚硬币被同时抛掷的次数

示例运行效果

示例1:
How many games? 1
How many coin tosses per game? 100
Game 0: Group A: 25 (25.0%); Group B: 19 (19.0%); Prof: 56 (56.0%)
Wins: Group A=0 (0.0%); Group B=0 (0.0%); Prof=1 (100.0%)

Python实现方案

下面是一个完全符合需求的Python代码实现,包含输入处理、随机模拟、计分统计和结果输出的完整逻辑:

import random

def toss_two_coins():
    # 用1表示正面(heads),0表示反面(tails),返回两枚硬币的结果
    return random.randint(0, 1), random.randint(0, 1)

def count_scores(tosses_per_game):
    group_a = 0
    group_b = 0
    prof = 0
    for _ in range(tosses_per_game):
        c1, c2 = toss_two_coins()
        if c1 == c2 == 1:
            group_a += 1
        elif c1 == c2 == 0:
            group_b += 1
        else:
            prof += 1
    return group_a, group_b, prof

def main():
    # 获取用户输入,包含简单的错误处理
    try:
        num_games = int(input("How many games? "))
        tosses_per_game = int(input("How many coin tosses per game? "))
    except ValueError:
        print("请输入有效的整数!")
        return
    
    # 初始化获胜统计
    a_wins = 0
    b_wins = 0
    prof_wins = 0

    # 逐局运行游戏
    for game_idx in range(num_games):
        a, b, p = count_scores(tosses_per_game)
        # 计算得分百分比
        a_pct = (a / tosses_per_game) * 100
        b_pct = (b / tosses_per_game) * 100
        p_pct = (p / tosses_per_game) * 100
        
        # 打印单局结果
        print(f"Game {game_idx}: Group A: {a} ({a_pct:.1f}%); Group B: {b} ({b_pct:.1f}%); Prof: {p} ({p_pct:.1f}%)")
        
        # 判断本局获胜者(处理并列情况,若多人得分相同则均算获胜)
        max_score = max(a, b, p)
        if a == max_score:
            a_wins += 1
        if b == max_score:
            b_wins += 1
        if p == max_score:
            prof_wins += 1
    
    # 计算总获胜百分比
    total = num_games if num_games > 0 else 1
    a_win_pct = (a_wins / total) * 100
    b_win_pct = (b_wins / total) * 100
    prof_win_pct = (prof_wins / total) * 100
    
    # 打印最终获胜统计
    print(f"Wins: Group A={a_wins} ({a_win_pct:.1f}%); Group B={b_wins} ({b_win_pct:.1f}%); Prof={prof_wins} ({prof_win_pct:.1f}%)")

if __name__ == "__main__":
    main()

代码细节说明

  • toss_two_coins:模拟一次两枚硬币的随机抛掷,返回两个0/1值代表正反
  • count_scores:根据每局抛掷次数,循环模拟并统计三组的得分
  • main:处理用户输入(包含简单的错误处理),逐局运行游戏,记录每局结果和获胜情况,最后输出汇总数据

内容的提问来源于stack exchange,提问作者setho14

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:11:59