程式設計題 比賽模擬

2022-07-09 02:54:09 字數 2953 閱讀 6957

from random import

random

def printintro(): #

列印程式介紹資訊

print("

桌球競技分析")

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("

模擬比賽的場次: "))

racetype = eval(input("

比賽型別:1為單打,2為雙打 "))

return

a, b, n, racetype

def simngames(n, proba, probb, racetype): #

進行n場比賽

winsa, winsb =0, 0

if racetype == 1:

for i in

range(n):

for j in range(7): #

進行7局4勝的比賽

scorea, scoreb =simonegame(proba, probb)

if scorea >scoreb:

winsa += 1

else

: winsb += 1

return

winsa, winsb

else

:

for i in

range(n):

for j in range(5): #

進行5局4勝的比賽

scorea, scoreb =simonegame(proba, probb)

if scorea >scoreb:

winsa += 1

else

: winsb += 1

return

winsa, winsb

def gameover(a,b): #

正常比賽結束

return a==11 or b==11

def gameover2(a,b): #

進行搶12比賽結束

return a==12 or b==12

def simonegame(proba, probb): #

進行一場比賽

scorea, scoreb = 0, 0 #

初始化ab的得分

serving = "a"

while

not gameover(scorea, scoreb): #

用while迴圈來執行比賽

if scorea==10 and scoreb==10:

return

(simtwogame2(proba,probb))

if serving == "a"

:

if random() < proba: #

#用隨機數生成勝負

scorea += 1

else

: serving="b"

else

:

if random()

scoreb += 1

else

: serving="a"

return

scorea, scoreb

defsimtwogame2(proba,probb):

scorea,scoreb=10,10serving = "a"

#假如先讓隊伍a發球

while

notgameover2(scorea, scoreb):

if serving == "a"

:

if random()

scorea += 1

else

: serving="b"

else

:

if random()

scoreb += 1

else

: serving="a"

return

scorea, scoreb

defprintsummary(winsa, winsb):

n = winsa +winsb

print("

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

".format(n))

print("

隊伍a獲勝{}場比賽,佔比

".format(winsa, winsa/n))

print("

隊伍b獲勝{}場比賽,佔比

NOIP模擬題 答題比賽

description lcj報名參加了乙個特殊的電視問答節目。這個節目共有 n 個問題,每回答正確1題,lcj就會獲得1分,而每當lcj連續答對 k題,那麼他的現有得分乘以2,注意答對第 k 題後,是先加1分到總分中,再把總分乘以2,此時連續答對題目計數器會清零。現在lcj成功對了 m題,他想知道...

程式設計題 踢球比賽

時間限制 2秒 空間限制 65536k 有三隻球隊,每只球隊編號分別為球隊1,球隊2,球隊3,這三隻球隊一共需要進行 n 場比賽。現在已經踢完了k場比賽,每場比賽不能打平,踢贏一場比賽得一分,輸了不得分不減分。已知球隊1和球隊2的比分相差d1分,球隊2和球隊3的比分相差d2分,每場比賽可以任意選擇兩...

桌球比賽模擬

from random import random defprintinfo print 這個程式模擬兩個選手a和b的桌球比賽 print 程式執行需要a和b的能力值 以0到1之間的小數表示 defgetinputs a eval input 請輸入選手a的能力值 0 1 b eval input ...