第七周作業 模擬體育競技分析(羽毛球)

2022-07-24 20:30:27 字數 2172 閱讀 8275

from random import

random

defprintintro():

print("

該程式的製作者為學號尾號為9")

print("

這個程式模擬兩個選手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

winsa, winsb =0, 0

for i in range(1,n+1):

scorea, scoreb =simonegame(proba, probb)

if scorea >scoreb:

winsa += 1

else

: winsb += 1

if i%3==0:

if winsa>winsb:

winsa+=1

print("

第{}場勝利的為a

".format(int(i/3)))

else

: winsb+=1

print("

第{}場勝利的為b

".format(int(i/3)))

winsa,winsb=0,0

return

winsa, winsb

defgameover(a,b):

if a==30 or b==30:

return

true

if a>19 and b>19:

if abs(a-b)==2:

return

true

if a<=19 or b<=19:

if a==21 or b==21:

return

true

else

:

return

false

defsimonegame(proba, probb):

scorea, scoreb =0, 0

serving = "a"

while

notgameover(scorea, scoreb):

if serving == "a"

:

if random()

scorea += 1

else

: scoreb +=1serving="b"

else

:

if random()

scoreb += 1

else

: scorea += 1serving="a"

return

scorea, scoreb

defprintsummary(winsa, winsb):

n = winsa +winsb

print("

競技分析開始,共模擬{}場比賽

".format(n))

print("

選手a獲勝{}場比賽,佔比

".format(winsa, winsa/n))

print("

選手b獲勝{}場比賽,佔比

模擬體育競技分析羽毛球

from random import random 第一階段 defprintintro print 模擬兩個選手a和b的羽毛球比賽 print 程式執行需要a和b的能力值 以0到1之間的小數表示 defgetinputs a eval input 請輸入選手a的能力值 0 1 b eval inp...

模擬體育競技分析

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...