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")

运行效果:
在这里插入图片描述

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