1. 程式人生 > >Python語言程式設計(MOOC崇天)第八章程式設計方法學學習筆記(體育競技分析+第三方庫安裝腳步+os庫)

Python語言程式設計(MOOC崇天)第八章程式設計方法學學習筆記(體育競技分析+第三方庫安裝腳步+os庫)

  • 複習:

數字型別及操作:

字串型別及操作:

程式的分支結構:

程式的迴圈結構:

函式的定義與使用:

程式碼複用與函式遞迴

集合型別及操作:

序列型別及操作:

字典型別及操作:

檔案的使用:

一維資料的格式化和處理:

二維資料的格式化和處理:

  • 今日內容:
  • 程式設計方法學。

  • 體育競技分析

自頂向下程式設計

#體育競技分析,主要學習自頂向下程式設計的方法會拆解成幾個小模組分別實現再聚合,但是實現起來還是得自底向上
# 需要引入庫
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 printSummary(winsA, winsB):
    n = winsA + winsB
    print("競賽分析開始,共模擬{}場比賽".format(n))
    print("選手A獲勝{}場比賽,佔比{:0.1%}".format(winsA, winsA/n))
    print("選手B獲勝{}場比賽, 佔比{:0.1%}".format(winsB, winsB/n))

#一場比賽over就是得分15
def gamesOver(a, b):
    return a == 15 or b == 15

#模擬一次比賽
def gameOneGame(probA, probB):
    scoreA, scoreB = 0, 0
    serving = "A"
    while not gamesOver(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


#模型N次比賽
def simNGames(n, probA, probB):
    winsA, winsB = 0, 0
    for i in range(n):
        scoreA, scoreB = gameOneGame(probA, probB)
        if scoreA > scoreB:
            winsA += 1
        else:
            winsB += 1
    return winsA, winsB

# 主函式
def main():
    printIntro()
    probA, probB, n = getInputs()
    winsA, winsB = simNGames(n, probA, probB)
    printSummary(winsA, winsB)

# 呼叫主函式
main()

舉一反三:

可否通過勝負差別別求得能力差別呢?

我們上面是通過能力差別求得勝負差別、

  • python程式設計思維

  • 計算思維與程式設計

 

計算思維= 抽象+自動

計算思維真的很有用》。。。。。

因為API是頂層設計,而生態是野蠻生長。

  • python第三庫安裝

 

總結:

  • OS庫的使用

本內容只介紹上面是三個所對應的函式:

記得幾個?

也可以給引數 比如開啟畫板 在畫板程式的後面 空格 然後開啟對應的圖片:

  •   例項14:第三庫安裝指令碼

以上20個庫我們怎麼用程式安裝呢?

#第三方庫安裝外掛
import os
libs = {"numpy", "matplotlib", "pillow", "sklearn", "requests",\
        "jieba", "beautifulsoup4", "wheel", "networkx", "sympy",\
        "pyinstaller", "django", "flask", "werobot", "pyqt5",\
        "pandas", "pyopengl", "pypdf2", "docopt", "pygame"}

try:
    for lib in libs:
        os.system("pip install "+lib)
        print("Successful")
except:
    print("install Faild")

在IDE下寫好,然後在cmd中找到相應路徑執行py程式

舉一反三: