from random import結果:random
#第一階段
defprintintro():
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
for i in range(n): #
將模擬n場比賽分解為n次模擬一場比賽
scorea, scoreb =simonegame(proba, probb)
if scorea >scoreb:
winsa += 1
else
: winsb += 1
return
winsa, winsb
defprintsummary(winsa, winsb):
n = winsa +winsb
print("
羽毛球比賽分析開始,共模擬{}場比賽
".format(n))
print("
選手a獲勝{}場比賽,佔比
".format(winsa, winsa/n))
0.8print("
選手b獲勝{}場比賽,佔比
".format(winsb, winsb/n))
defmain():
printintro()
proba, probb, n =getinputs()
winsa, winsb =simngames(n, proba, probb)
printsummary(winsa, winsb)
#第二階段
defsimonegame(proba, probb):
scorea, scoreb =0, 0
serving = "a"
while
notgameover(scorea, scoreb):
if serving == "a"
:
if random()
scorea += 1
else
: serving="b"
else
:
if random()
scoreb += 1
else
: serving="a"
return
scorea, scoreb
#第三階段
defgameover(a,b):
if (a>=20 and b>=20):
if(abs(a-b)==2 and a<=29 and b<=29):
return
true
else
:
return a==30 or b==30
else
:
return
false
main()
print("
學號尾數為7
")
![](https://pic.w3help.cc/fde/3bb09a51e46a83b4f5997ae276cd6.jpeg)
第七周作業 模擬體育競技分析(羽毛球)
from random import random defprintintro print 該程式的製作者為學號尾號為9 print 這個程式模擬兩個選手a和b的羽毛球比賽 print 程式執行需要a和b的能力值 以0到1之間的小數表示 defgetinputs a eval input 請輸入選手...
模擬體育競技分析
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...