引入隨機庫
#提示使用者程式的功能和要求
defprintintro():
print("
這個程式模擬兩個選手a和b的某種競技比賽")
print("
程式執行需要a和b的能力值(以0到1之間的小數表示)")
#獲得資料
defgetinput():
a=eval(input("
請輸入選手a的能力值(0-1):"))
b=eval(input("
請輸入選手b的能力值(0-1):"))
n=eval(input("
請輸入模擬比賽場次:"))
return
a,b,n
#進行模擬(資料處理)
defprintsummary(winsa,winsb):
n=winsa+winsb
print("
競技分析開始,共模擬{}比賽
".format(n))
print("
選手a獲勝{}場比賽,佔比
".format(winsa,winsa/n))
print("
選手b獲勝{}場比賽,佔比
".format(winsb,winsb/n))
defgameover(a,b):
return a==15 or b==15
defsimonegames(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
defsimngames(n,proba,porbb):
winsa,winsb=0,0
for i in
range(n):
scorea,scoreb=simonegames(proba,porbb)
if scorea>scoreb:
winsa+=1
else
: winsb+=1
return
winsa,winsb
defmain():
printintro()
proba,porbb,n=getinput()
winsa,winsb=simngames(n,proba,porbb)
printsummary(winsa,winsb)
main()
Python 體育競技分析
自頂向下 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 模擬比...
Python 體育競技分析
目錄 問題分析 自頂向下和自底向上 體育競技分析總體框架及步驟 舉一反三 體育競技分析 模擬n場比賽 比賽規則 自頂向下 自底向上 體育競技分析 import random def printinfo print 這個程式模擬兩個選手a和b的某種競技比賽 print 程式執行需要a和b的能力值 以0...
體育競技分析
體育競技 2from random import random 3def printinfo 4print 這個程式模擬兩個選手a和b的羽毛球競技比賽 5print 程式需要兩個選手的能力值0 1 6print 規則 三局兩勝 21分制 7print 89defgetinput 10 a eval ...