體育競技分析

2022-08-21 11:24:09 字數 3159 閱讀 9654

#體育競技

2from random import

random

3def

printinfo():

4print("

這個程式模擬兩個選手a和b的羽毛球競技比賽")

5print("

程式需要兩個選手的能力值0-1")

6print("

規則:三局兩勝--21分制")

7print("")

89defgetinput():

10 a = eval(input("

請輸入選手a的能力值(0-1):"))

1112 b = eval(input("

請輸入選手b的能力值(0-1):"))

1314 m=eval(input("

比賽的局數:"))

1516 n = eval(input("

模擬比賽的場次:"))

17return

a,b,m,n

1819

20def

printsummary(winsa,winsb):

2122 n = winsa +winsb

2324

print("

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

".format(n))

2526

print("

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

".format(winsa,winsa/n))

2728

print("

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

".format(winsb,winsb/n))

2930

31def

simngames(m,n,proba,probb):

3233 winsa,winsb =0,0

34 wa,wb=0,0

3536

for i in

range(n):

37for i in

range(m):

3839 scorea,scoreb =simonegame(proba,probb)

4041

if scorea >scoreb:

42 wa += 1

43else

:44 wb += 1

4546

if wa==2:

47 winsa+=1

48 wa,wb=0,0

49break

50if wb==2:

51 winsb+=1

52 wa,wb=0,0

53break

5455

56return

winsa,winsb

5758

59def

simonegame(proba,probb):

6061 scorea,scoreb =0,0

6263 serving = "a"

64while

notgameover(scorea,scoreb):

6566

if serving == "a"

:6768if random()

6970 scorea += 1

71else

:72 serving = "b"

73else:74

if random()

75 scoreb += 1

76else

:77 serving = "a"

78return

scorea,scoreb

79def

gameover(a,b):

80if(a>=20 or b>=20):

81if(abs(a-b)==2 and a<=29 and b<=29):

82return

true

83else:84

return a==30 or b==30

85else:86

return

false

8788

defmain():

89printinfo()

90 proba,probb,m,n =getinput()

91 winsa,winsb =simngames(m,n,proba,probb)

92printsummary(winsa,winsb)

9394 main()

執行結果如下:

使用pyinstaller打包,把python指令碼打包成可執行的檔案。即把.py檔案打包成.exe檔案

我的檔案路徑為: c:\users\administrator\.spyder-py3\temp.py

操作如下:

1、通過cmd命令

2、輸入pyinstaller  c:\users\administrator\.spyder-py3\temp.py(即pyinstaller+檔案路徑)

執行結果如下:

有執行結果知:生成的檔案放在了"c:\users\administrator\dist\temp"中

如圖所示:

開啟這個檔案後,所示如下:

可以在這個頁面裡輸入哦~~~~

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

Python 體育競技分析

引入隨機庫 提示使用者程式的功能和要求 defprintintro print 這個程式模擬兩個選手a和b的某種競技比賽 print 程式執行需要a和b的能力值 以0到1之間的小數表示 獲得資料 defgetinput a eval input 請輸入選手a的能力值 0 1 b eval input...