from random importrandom
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 ...