模拟比赛排球

import random  
  
def getinput():  
    a = float(input("请输入队伍A的能力值:"))  
    b = float(input("请输入队伍B的能力值:"))  
    n = int(input("模拟比赛的次数:"))  
    return a, b, n  
  
def simulate_game(a, b):  
    fa = 0  
    fb = 0
    faqiu="A"
    while max(fa, fb) < 15 or abs(fa - fb) < 2:   
        r = random.random()
        if faqiu=="A":
            if r <= a:  
                fa += 1  
            else:  
                fb += 1
                faqiu="B"
        else :
            if r<=b:
                fb +=1
            else:
                fa +=1
                faqiu="A"
            
    return fa, fb  
  
def getprocess(a, b, n):  
    wa = 0  
    wb = 0  
    for _ in range(n):  
        wins_a = 0  
        wins_b = 0  
        for _ in range(4):  
            fa, fb = simulate_game(a, b)  
            if fa > fb:  
                wins_a += 1  
            else:  
                wins_b += 1  
  
        if wins_a == 3:  
            wa += 1  
        elif wins_b == 3: 
            wb += 1  
        else: 
            fa, fb = simulate_game(a, b)   
            if fa > fb:  
                wa += 1  
            else:  
                wb += 1  
  
    return wa, wb  
  
 
a, b, n = getinput()  
wa, wb = getprocess(a, b, n)  
print(f"队伍A赢了 {wa} 次,队伍B赢了 {wb} 次。")
 

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值