# 體育競技分析問題
import random
def printintro():
print('''這個程式模擬兩個選手a和b的某種競技比賽
程式執行需要a和b的能力值(以0-1之間的小數表示)''')
def getinputs():
a = eval(input('請輸入選手a的能力值(0-1):'))
b = eval(input('請輸入選手b的能力值(0-1):'))
n = eval(input('模擬比賽的場次:'))
return a, b, n
def gameover(scorea, scoreb):
if (scorea >= 15) or (scoreb >= 15):
return true
else:
return false
def random():
return random.random()
def simonegames(proa, prob):
scorea, scoreb = 0, 0
serving = 'a'
while not gameover(scorea, scoreb):
if serving == 'a':
if random() < proa:
scorea += 1
else:
serving = 'b'
else:
if random() < prob:
scoreb += 1
else:
serving = 'a'
return scorea, scoreb
def simngames(proa, prob, n):
winsa, winsb = 0, 0
for i in range(n):
x, y = simonegames(proa, prob)
if x > y:
winsa += 1
elif y > x:
winsb += 1
return winsa, winsb
def printsummary(winsa, winsb):
n = winsa + winsb
print('競技分析開始,共模擬{}場比賽'.format(n))
print('選手a獲勝{}場比賽,勝率是'.format(winsa, winsa / n))
print('選手b獲勝{}場比賽,勝率是'.format(winsb, winsb / n))
def main():
printintro()
proa, prob, n = getinputs()
winsa, winsb = simngames(proa, prob, n)
printsummary(winsa, winsb)
try:
main()
except:
print('error')
左神演算法基礎class8 題目5母牛產子問題
母牛每年生乙隻母牛,新出生的母牛成長三年後也能每年生乙隻母牛,假設不會死。求n年後,母牛的數量。先列出圖表找規律 可以看出規律 今年生的牛等於去年牛的總和,再加上所有成熟的牛再生乙個 成熟的母牛數量 那麼成熟的牛的數量怎麼知道呢?根據題意實際就是三年前牛的總和 三年前所有的牛完全能保證成熟可以生育,...
Class 8 python 迴圈語句
例項一 迴圈語句 while a 0 while a 5 print while a a a 1else print eof n for for i in 4 3,2 1 print for i i 結果輸出 ps c users administrator desktop tmp python u...
python基礎篇 Class 類
class 類 特點 乙個抽象的物件,是物件導向語言的核心,類可以不繼承或多繼承。標識 class 例子 class a object 這是乙個演示的類 count a def init self,a self.a a def str self print count a s,list a s se...