首页 > 其他分享 >羽毛球比赛

羽毛球比赛

时间:2023-12-18 17:56:11浏览次数:23  
标签:winsB winsA 羽毛球 比赛 scoreB print return scoreA

 

 

print('学号后两位:18')
print('22信计1马樱萁,2022310143018')
def first():
print("这个程序模拟两个选手A和B的羽毛球竞技比赛")
print("程序运行需要A和B的能力值(以0到1之间的小数表示)")

def second():
a = float(input("请输入选手A的能力值(0-1): "))
b = float(input("请输入选手B的能力值(0-1): "))
n = int(input("模拟比赛的场次: "))
return a, b, n

def third(probA, probB):
scoreA, scoreB = 0, 0
serving = "A"
while not gameOver(scoreA, scoreB):
if serving == "A":
if random() < probA:
scoreA += 1
else:
serving = "B"
else:
if random() < probB:
scoreB += 1
else:
serving = "A"
return scoreA, scoreB

def gameOver(scoreA, scoreB):
if scoreA == 29 and scoreB == 29:
return False
elif scoreA >= 30 or scoreB >= 30:
return True
elif (scoreA >= 21 or scoreB >= 21)and abs(scoreA - scoreB) >= 2:
return True
else:
return False


def final(winsA, winsB, games):
n = games*2
print("竞技分析开始,共模拟{}场比赛".format(games))
print("选手A获胜{}场比赛,占比{:0.1%}".format(winsA, winsA/n))
print("选手B获胜{}场比赛,占比{:0.1%}".format(winsB, winsB/n))

def simulateMatches(probA, probB, n):
winsA, winsB = 0, 0
for i in range(n):
scoreA, scoreB = third(probA, probB)
if scoreA > scoreB:
winsA += 1
else:
winsB += 1
return winsA, winsB

def main():
first()
probA, probB, n = second()
winsA, winsB = simulateMatches(probA, probB, n)
final(winsA, winsB, n)

main()

标签:winsB,winsA,羽毛球,比赛,scoreB,print,return,scoreA
From: https://www.cnblogs.com/woshilatabi/p/17911819.html

相关文章

  • 模拟体育竞技分析--乒乓球比赛规则
    defprintIntro():print("这个程序模拟两个选手A和B的乒乓球比赛")print("程序运行需要A和B的能力值(以0到1之间的小数表示)")print("学号后两位数字:32")defprintInputs():a=eval(input("请输入选手A的能力值(0-1):"))b=eval(input("请输入选手B的能力......
  • 排球比赛模拟
    代码importrandomdefprint_intro():print("排球比赛模拟程序")print("-------------------------------")definput_teams():team1_ability=float(input("请输入第一个球队的能力值:"))team2_ability=float(input("请输入第二个球队的能力值:"......
  • 「比赛游记」THUPC2024 初赛游记
    「比赛游记」THUPC2024初赛游记路上小心ずっと探してた捧げた心臓の在処(我一直在寻找着曾献出的心脏如今何在)本当の想いを教えて夢物語でいいから(告诉我你真实的想法吧纵使如梦话般缥缈)最後になにがしたい?どこに行きたい?(在这最后一刻你还想要做什么?你还想去向何方?)......
  • 比赛的题misc和ctfshow中的
    base64/4 利用base16啊 misc50 我感觉挺难的,看了好几个wp才勉勉强强搞懂,首先进行解压缩之前需要进行一次爆破吧,破解密码出来为123456,然后得到一大串数字,然后将其转化为十六进制,这里需要用到大佬们的脚本,我写不出来,就会得到一个新的文件,然后用那个010工具上手,然后后面就用到......
  • 比赛刷题:crypto
    html解密 点进去然后要输入password,直接在网页上面找呗brainfuck 直接动用工具,就像标题一样,然后解码的时候需要点击BrainfuckToText就可以得出啦,其他的是错的 刷个题吧 嗯,知道大致思路,就是被坑了,连续解三次base64才可以得出结果base32 根据题目嘛,直接采用base32......
  • Acwing4244牛的比赛
    Acwing4244.牛的比赛题目部分N头奶牛,编号1∼N,一起参加比赛。奶牛的战斗力两两不同。这些奶牛之间已经进行了M轮两两对决。在对决中,战斗力高的奶牛一定会战胜战斗力低的奶牛。请问,通过上述M轮对决的结果,可以确定多少头奶牛的具体战斗力排名。输入格式第一行包含两个整......
  • 模拟体育竞技分析:乒乓球比赛规则
     要求:1)模拟体育竞技分析:(不同学号选做不同题目,必做题)‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬......
  • NOIP 2023比赛报告
    第一题比赛情况$100$分,耗时$1$小时。题解对于$1\lei\len$,比较$w_i$字典序最小的字符$a_i$与每个$w_j(i\nej)$字典序最大的字符$b_j$。如果有$b_j\lea_i$,则$w_i$不能成为字典序最小的单词,反之可以。代码第二题比赛情况$100$分,耗时$2$小时。题解......
  • 【23秋】提高实战营 之 比赛篇
    2023提高实战营-秋专题测试01A.寇德佛斯题目链接A.寇德佛斯简要思路对于题目\(i\)和题目\(j\),假设当前开始了\(w\)时间,如果先做\(i\)再做\(j\),那么得到的分数将会是\(s_i-(w+t_i)·v_i+s_j-(w+t_i+t_j)·v_j\),最后整理一下可得时先做题目\(i\)......
  • 「比赛游记」NOIP 2023 游记
    「比赛游记」NOIP2023游记点击查看索引这是Index.百度百科扒的,有没有人给我来一张更好的.11.14(day998244350)模拟赛,稳定打挂.高二的明天信息学考,晚上看他们做题感觉很有趣味.但是初中有无聊的信息中考......