乒乓球比赛
2021/11/14 6:10:08
本文主要是介绍乒乓球比赛,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
import random as a
def getput():
jia = eval(input('甲的胜率:'))
yi = eval(input('乙的胜率:'))
n = eval(input('比赛场次:'))
return jia,yi,n
def bishaileixing():
c=input('比赛类型:')
if c =='单打淘汰赛':
return 7
elif c=='双打淘汰赛' or '团体赛':
return 5
def danda(x,y):
if x==4:
return '本场比赛甲胜利'
elif y==4:
return '本场比赛乙胜利'
def shuangda(x,y):
if x==3:
return '本场比赛甲胜利'
elif y==3:
return '本场比赛乙胜利'
def yichangbishai(c): #传入比赛类型
x,y=0,0
gameover(x,y)
for i in range(bishaileixing()):
yijubishai(a,b)
if c =='单打淘汰赛':
danda(x,y)
elif c=='双打淘汰赛' or '团体赛':
return 5
if scoreA>scoreB:
x+=1
else:
y+=1
return winsA,winsB
def yijubishai(a,b) #传入能力值
'''模拟一局比赛的场景'''
x=0
y=0
#本局比赛谁先发球(设定每局比赛总是球员A先发球)
starting='A'
while not gameover(x,y):
if starting=='A':
#random()函数用来生成一个随机小数,范围在区间 [0,1)内
if a.random()<a:
x+=1
else:
starting='B'
else:
if a.random()<b:
y+=1
else:
starting='A'
if gameover(x,y) ==a:
return x1+=1 #本局比赛A赢,赢的场数加一
elif gameover(x,y)==b:
return y1+=1 #本局比赛B赢,赢的场数加一
def gameover(a,b):
if a==10 and b ==10:
if a-b==2:
return a
elif b-a==2:
y+=1
return b
elif a ==11 and b != 10:
x+=1
return a
elif b==11 and a!=10:
y+=1
return b
def main():
A,B,N=getput()
bishaileixing() #比赛类型
yijubishai(A,B)
yichanbishai(bi
bishaileixing(c)
学号:2020310143020
这篇关于乒乓球比赛的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-22项目:远程温湿度检测系统
- 2024-12-21《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》简介
- 2024-12-21后台管理系统开发教程:新手入门全指南
- 2024-12-21后台开发教程:新手入门及实战指南
- 2024-12-21后台综合解决方案教程:新手入门指南
- 2024-12-21接口模块封装教程:新手必备指南
- 2024-12-21请求动作封装教程:新手必看指南
- 2024-12-21RBAC的权限教程:从入门到实践
- 2024-12-21登录鉴权实战:新手入门教程
- 2024-12-21动态权限实战入门指南