首页 > 其他分享 >10

10

时间:2023-11-20 23:15:11浏览次数:26  
标签:winsB 10 winsA return probB probA print

from random import random
def printIntro():
print("这个程序模拟两个选手A和B的某种竞技比赛")
print("程序运行需要A和B的能力值(以0到1之间的小数表示)")
def getInputs():
a = eval(input("请输入选手A的能力值(0-1): "))
b = eval(input("请输入选手B的能力值(0-1): "))
n = eval(input("模拟比赛的场次: "))
return a, b, n
def simNGames(n, probA, probB):
winsA, winsB = 0, 0
for i in range(n):
scoreA, scoreB = simOneGame(probA, probB)
if scoreA > scoreB:
winsA += 1
else:
winsB += 1
return winsA, winsB
def gameOver(a,b):
if a == 11 and b<=9:
return True
elif b == 11 and a<=9:
return True
elif a >=10 and b>= 10 and a-b==2:
return True
elif a >= 10 and b >=10 and b-a == 2:
return True
else :
return False

def simOneGame(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 printSummary(winsA, winsB):
n = winsA + winsB
print("竞技分析开始,共模拟{}场比赛".format(n))
print("选手A获胜{}场比赛,占比{:0.1%}".format(winsA, winsA/n))
print("选手B获胜{}场比赛,占比{:0.1%}".format(winsB, winsB/n))
def main():
printIntro()
probA, probB, n = getInputs()
winsA, winsB = simNGames(n, probA, probB)
printSummary(winsA, winsB)
print("学号后四位:3120")
main()

标签:winsB,10,winsA,return,probB,probA,print
From: https://www.cnblogs.com/Liu190731/p/17845154.html

相关文章

  • 10月杂题
    还是得写写杂题,初三赛季说明这对我是buff啊。这次CSP-S再次检验王者是超级debuff!!!1.P7830[CCO2021]ThroughAnotherMazeDarkly感受一下,每次从根开始绕一圈回去,这个圈会越来越大,直到大小变成\(n-1\)。考虑求出每个边在最后一个圈内入和出的时间(就是欧拉序),你会发现每......
  • 先锋版N100-N200-N305老版本(四个M.2转接板)使用教程
    N100-N200-I3-N305先锋版专用四个M.2接口转接板。4M.2-BIOS下载地址刷机前请确认是不是如下产品,其它主板或拓展板不对情况下勿刷!PS:拓展上面的拔码预留给USB切换的,本次版本不支持USB,所有拔码开关暂时用不上,请勿操作。刷BIOS教程,请安装Ventoy制作U盘启动盘工具,把下载到的BIOS复制......
  • 先锋版N100-N200-I3-N305三选一SATA+M.2 NGFF+mSATA拓展板使用教程
    先锋版N100-N200-I3-N305拓展板3选1功能使用教程3选1BIOS下载地址刷机前请确认是不是如下产品,其它拓展板勿刷!重要提示:3选1拓展版不支持NVMe协议的硬盘,接口不对会烧,请勿插PCIE(NVMe)协议的M.2,通电情况下严禁进行拔码操作,需要拔码换硬盘一定要关机掉拔电源下进行通电情况下严禁进行......
  • 先锋版N100-N200-N305新版本(四个M.2或5个M.2转接板)使用教程
    N100-N200-I3-N305先锋版专用支持五个M.2接口转接板5个M.2-BIOS下载地址刷机前请确认是不是如下产品,其它主板或转接板不对情况下勿刷!产品图片......
  • FS2110同步整流5V1A频率PWM同步升压IC转换器DC-DC
    描述FS2110是一种高效,固定频率550 KHz,电流模式PWM升压直流/直流转换器,可以操作电池,如输入电压降至2.5V。转换器输出电压可通过外部电阻分压器调节到最大5.25V。此外,转换器还包括一个0.08Ωn通道MOSFET开关和0.12Ωp通道同步整流器。因此,不需要外部肖特基二极管,可以得到更好的效率,......
  • 初中英语优秀范文100篇-003 My ways of learning English
    记忆树1Asweallknow,Englishisoneofthemostimportantlanguagesintheworld.翻译众所周知,英语是世界上最重要的语言之一简化记忆最重要的语言句子结构"asweallknow"是一个引导从句的短语,在这里引导的是一个句子,提供背景信息。"English"是主语,表示被讨论......
  • Android系统开发 Android10版本自定义系统版本号
    前言  framework开发,此博客基于Android10版本,实现自定义系统版本号。找到修改位置需要修改的关键文件是buildinfo.sh搜索一下文件找到要改的目标文件这里建议将这个文件拷贝出来修改,各自的编译环境不同,拷贝或者传输文件的方式不同,这里各自发挥。下面是我在wsl里把文件拷......
  • Python小白入门指南:避免踩雷的10大错误!
    hello,大家好!新手小白踏入Python的大门有点像冒险,但别担心,我已经整理了一个超实用的入门指南,帮你规避学习过程中的十大雷区。这里有关于Python的错误你应该注意的建议,一起来看看吧!1.拼写错误小心prin和print的奇妙之旅!#错误示例prin("Hello,World!")#建议:尽量保......
  • MIT18.06Linear Algebra 第10讲 四个基本子空间
    转载于:超详细MIT线性代数公开课笔记......
  • Windows10 删除库文件夹
    删除打开注册表,找到以下:计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace在左侧NameSpace目录下找到{0DB7E03F-FC29-4DC6-9020-FF41B59E513A}子项删除注:64位系统可能需要额外删除以下目录的同名子项:计算机\HKEY_LOCAL_M......