python(Mooc)--程序設計方法學

一.實例:體育競技分析

(1)實例概述

  • 需求:毫釐是多少?如何科學分析體育競技比賽
  • 輸入:球員水平
  • 輸出:可預測的比賽成績

(2)程序框架及步驟

  • 第一:打印程序的介紹性信息式
  • 第二:獲得程序運行參數:proA,proB,n
  • 第三:利用球員A和B的能力值,模擬n局比賽
  • 第四:輸出球員AB獲勝比賽的場次及概率

(3)具體代碼

from random import random
def printIntro():
    print("這個程序模擬兩個選手AB的某種競技比賽")
    print("這個需要AB的能力值(用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獲勝{}場比賽,佔比{:0.1%}".format(winsA,winsA/n))
    print("選手B獲勝{}場比賽,佔比{:0.1%}".format(winsB,winsB/n))

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

main()

(4)運行結果
在這裏插入圖片描述

二.python程序設計思維

2.1 計算思維與程序設計

2.2 計算生態與python語言

2.3 用戶體驗與軟件產品

2.4 基本的程序設計模式

三.python第三方庫安裝

3.1 看見更大的python世界

(1)python社區 > 13萬個第三方庫 > https:pypi.org/
在這裏插入圖片描述
(2)實例:開發與區塊鏈相關的程序
在這裏插入圖片描述
在這裏插入圖片描述

3.2 第三方庫的pip安裝方法

(1)pip安裝方法
在這裏插入圖片描述
(2)常見的pip指令

  • D:\pip install <第三方庫名> //安裝指定第三方庫
  • D:\pip install -u <第三方庫名> //使用-U標籤更新已安裝的指定第三方庫
  • D:\pip uninstall <第三方庫名> //卸載指定第三方庫
  • D:\pip download <第三方庫名> //下載但不安裝指定第三方庫
  • D:\pip show <第三方庫名> //列出某個指定第三方庫的詳細信息
  • D:\pip search <關鍵詞> //根據關鍵詞在名稱和介紹中搜索第三方庫
  • D:\pip list //列出當前系統已經安裝的第三方庫

3.3 第三方庫的集成安裝方法

在這裏插入圖片描述

3.4 第三方庫的文件安裝方法

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

四.模塊:os庫的基本使用

4.1 基本介紹

在這裏插入圖片描述

  • OS庫是python標準庫,包含幾百個函數
  • 常用路徑操作,進程管理,環境參數等幾類
  • 路徑操作:os.path子庫,處理文件路徑及信息
  • 進程管理:啓動系統中其他程序
  • 環境參數:獲取系統軟硬件信息等環境參數

4.2 os庫之路徑操作

os.path子庫以path爲入口,用於操作和處理文件路徑

import os.path  或 import os.path as op

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

4.3 os庫之進程管理

使用我們寫的程序調用外部程序

os.system(command)
  • 執行程序或命令command
  • 在windows系統中,返回值爲cmd的調用信息

4.4 os庫之環境參數

(1)獲取或改變系統環境信息
在這裏插入圖片描述
(2)獲取操作系統環境信息
在這裏插入圖片描述
在這裏插入圖片描述

五.實例:第三方庫自動安裝腳本

需求:批量安裝第三方庫需要人工干預,能否自動安裝
自動執行pip逐一根據需求安裝

這裏假設我們要安裝一下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("pip3 install "+lib)
    print("Successful")
except:
    print("Failed Somehow")

運行效果:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章