模擬體育競技分析

2022-07-09 04:00:15 字數 1925 閱讀 8134

#

-*- 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之間的小數表示)")

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

")

模擬體育競技分析

比賽規則 1.採用5局3勝制 2.前四局採用25分制,每個隊只有在贏得至少25分,且同時超過對方2分時才勝一局 3.決勝局 第五局 採用15分制,先獲得15分,且同時超過對方2分為勝 from random import random defgetinputs 獲得使用者輸入的引數 a eval i...

模擬體育競技分析

from random import random defprintintro print 36號程式設計師的程式模擬兩個選手a和b的排球比賽 print 程式需要a和b的能力值 以0到1之間的小數表示 defgetinputs a eval input 請輸入選手a的能力值 0 1 b eval ...

模擬體育競技分析

from random import random 列印程式介紹資訊 def printintro print 進行比賽分析結果 print 這是團體賽模擬程式 獲得程式執行引數 def getinputs a eval input 請輸入隊伍a的能力值 0 1 b eval input 請輸入隊伍...