from random importrandom
defprintinfo():
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):
scorea, scoreb =simonegame(proba, probb)
if scorea >scoreb:
winsa += 1
else
: winsb += 1
return
winsa, winsb
defgameover(a,b):
if a>=10 and b>=10:
if abs(a-b)==2:
return 1
elif a<10 and b<10:
if a==11 or b==11:
return 1
else
:
return
0def
simonegame(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
defprintsummary(winsa,winsb):
n=winsa+winsb
print("
競技分析開始,一共模擬{}場比賽
".format(n))
print("
選手a獲勝{}場比賽,佔比
".format(winsa,winsa/n))
print("
選手b獲勝{}場比賽,佔比
桌球比賽(模擬演算法)
題目描述 華華通過以下方式進行分析,首先將比賽每個球的勝負列成一張表,然後分別計算在11分制和21分制下,雙方的比賽結果 截至記錄末尾 比如現在有這麼乙份記錄,其中w表示華華獲得一分,l表示華華對手獲得一分 wwwwwwwwwwwwwwwwwwwwwwlw 在11分制下,此時比賽的結果是華華第一局1...
C 桌球比賽
使用vs2019 iso c 14 標準 std c 14 兩個桌球隊進行比賽,各出三人。甲隊為a,b,c三人,乙隊為x,y,z三人。已抽籤決定比賽名單。有人向隊員打聽比賽的名單。a說他不和x比,c說他不和x,z比,請程式設計序找出三隊賽手的名單。演算法1 侷限性 abc按順序匹配,先匹配c,再匹配...
桌球模擬
from random import random defprintinfo print 這個程式模擬兩個選手a和b的桌球比賽 print 程式執行需要a和b的能力值 以0到1之間的小數表示 defgetinputs a eval input 請輸入選手a的能力值 0 1 b eval input ...