from random importrandom
defprintintro():
print("
36號程式設計師的程式模擬兩個選手a和b的排球比賽")
print("
程式需要a和b的能力值(以0到1之間的小數表示)")
defgetinputs():
a=eval(input("
請輸入選手a的能力值(0—1):"))
b=eval(input("
請輸入選手b的能力值(0—1):"))
n=eval(input("
模擬比賽的場次:"))
return
a,b,n
defsimngames(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
defgameover1(a,b):
return (a>=25 and a-b>2) or (b>=25 and b-a>2)
defgameover2(a,b):
return (a>=15 and a-b>2) or (b>=15 and b-a>2)
defsimonegame(proba,probb):
for i in range (5):
winsa,winsb=0,0
scorea,scoreb=0,0
serving="a"
while
notgameover1(scorea,scoreb):
if serving=="a"
:
if random()
scorea+=1
else
: scoreb+=1serving="b"
else
:
if random()
scoreb+=1
else
: serving="a"
scorea+=1
if scorea>scoreb:
winsa+=1
else
: winsb+=1
if winsa==3 or winsb==3:
break
if winsa==2 and winsb==2:
simtowgame(proba,probb)
return
winsa,winsb
defsimtowgame(proba,probb):
for i in range (1):
scorea,scoreb=0,0
serving="a"
while
notgameover2(scorea,scoreb):
if serving=="a"
:
if random()
scorea+=1
else
: scoreb+=1serving="b"
else
:
if random()
scoreb+=1
else
: serving="a"
scorea+=1
return
scorea,scoreb
defprintsummary(winsa,winsb):
n=winsa+winsb
print("
競技分析開始,共模擬{}場比賽
".format(n))
print("
選手a獲勝{}場比賽,佔比
".format(winsa,winsa/n))
print("
選手b獲勝{}場比賽,佔比
模擬體育競技分析
coding utf 8 created on tue jun 9 11 18 48 2020 author 13549 from random import random 第一階段 defprintintro print 模擬兩個選手a和b的羽毛球比賽 print 程式執行需要a和b的能力值 以0...
模擬體育競技分析
比賽規則 1.採用5局3勝制 2.前四局採用25分制,每個隊只有在贏得至少25分,且同時超過對方2分時才勝一局 3.決勝局 第五局 採用15分制,先獲得15分,且同時超過對方2分為勝 from random import random defgetinputs 獲得使用者輸入的引數 a eval i...
模擬體育競技分析
from random import random 列印程式介紹資訊 def printintro print 進行比賽分析結果 print 這是團體賽模擬程式 獲得程式執行引數 def getinputs a eval input 請輸入隊伍a的能力值 0 1 b eval input 請輸入隊伍...