from random import random
def printintro():
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("模擬比賽的場次: "))
return a, b, n
def simngames(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
def gameover(a,b):
return a==15 or b==15
def simonegame(proba, probb):
scorea, scoreb = 0, 0
serving = "a"
while not gameover(scorea, scoreb):
if serving == "a":
if random() < proba:
scorea += 1
else:
serving="b"
else:
if random() < probb:
scoreb += 1
else:
serving="a"
return scorea, scoreb
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()
proba, probb, n = getinputs()
winsa, winsb = simngames(n, proba, probb)
printsummary(winsa, winsb)
main()
程式**:
import os
libs =
try:
for lib in libs:
os.system("pip3 install "+lib)
print("successful")
except:
print("failed somehow")
第八周學習
第八周學習週報 2018.10.22 10.28 一 本週學習情況 本週主要學習了 開源硬體 arduino基礎教程 1 歐姆定律 2 光敏電阻與三極體的初步認識 3 多種方法控制並點亮led燈 按鈕開關,光敏開關,紅外開關 訪問了csdn社群的計算機基礎板塊,學習大神的帖子。利用開源硬體對網課裡的...
第八周學習日誌
基於區塊鏈的身份管理認證研究 總結 主題 分析了通用的基於區塊鏈的身份管理認證模型。方法 大資料時代為信任服務引入了更多的實體 如何構建網路身份的信任體系十分重要 區塊鏈系統的弱中心化 公開透明 安全可靠為網路空間的信任服務提供了理論基礎 解決的問題 各個單位的資料孤島不能溝通 中心化管理系統的資料...
第八周學習總結
這周依然在主攻dp演算法,而這週相對於前兩周不同的是,這周主要在講揹包問題。揹包問題是dp演算法中乙個重點問題。她一共分為三種題型 01揹包問題,完全揹包問題和多重揹包問題。首先,01揹包問題是這三個問題中最簡單,也是最基礎的乙個。下面我會列舉乙個我認為非常有代表性,並且一看就懂的問題。也正是這個問...