实例13 体育竞技分析

自顶向下,解决复杂问题的有效方法,将一个小问题表达为若干小问题组成的形式,使用同样方法进一步解决小问题直至可以用计算机简单解决;自底向上

  • 理解自顶向下的设计思维:分而治之;理解自底向上的执行思维:模块化集成
#sportgames.py
from random import random
def printIntro():print("程序模拟两个选手A和B的某种竞技比赛")print("程序运行需要A和B的能力值")
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 +winsBprint("共模拟{}场比赛".format(n))print("A获胜{}场占:{:0.1%}".format(winsA,winsA/n))print("B获胜{}场占:{:0.1%}".format(winsB,winsB/n))
def gameOver(a,b):return a==15 or b==15#谁先到15分则返回true结束while
def simOneGame(probA,probB):#一场比赛scoreA,scoreB=0,0serving="A"#A发球while not gameOver(scoreA,scoreB):if serving=="A":if random() < probA:#生成随机数若小于A的能力值,则A加一,是概率体现scoreA += 1else:serving="B"#A输球谁都不得分球权给Belse:if random() < probB:scoreB += 1else:serving="A"return scoreA,scoreB
def simNGames(n,probA,probB):#n场比赛winsA,winsB=0,0for i in range(n):scoreA,scoreB=simOneGame(probA,probB)if scoreA > scoreB:winsA += 1else:winsB += 1return winsA,winsB
def main():printIntro()probA,probB,n = getInputs()winsA,winsB = simNGames(n,probA,probB)printSummary(winsA,winsB)main()

Python程序设计思维

计算思维与程序设计

逻辑思维(数学)—实证思维(物理)—计算思维(计算机)
计算思维基于计算机强大的算力和海量数据,抽象计算过程,关注设计和构造,而非因果,以计算机程序为实现的主要手段。

计算生态与python

开源思想深入演化发展,形成了计算生态。没有顶层设计,以功能为单位,竞争发展、相互依存,迅速更迭。同一个功能两个以上第三方库,自然选择。库广泛联系,逐级封装。AlphaGo深度学习算法采用Python语言开源

  • 刀耕火种 -》 站在巨人肩膀
    编程的起点不是算法而是系统,编程如同搭积木,利用计算生态为主要模式
    优质计算生态推荐:http://python123.io
用户体验和软件产品

提高用户体验:进度展示(时间,步骤,循环);异常处理(用户输入,读写文件,输入输出);打印输出;日志文件;帮助信息

基本程序设计模式

IPO;自顶向下;模块化设计,松耦合,紧耦合;配置化设计(程序引擎+配置数据文件);

  • 应用开发(产品定义,系统架构,设计实现,用户体验)
    产品定义不仅是功能定义要考虑商业模式;系统架构,关注数据流模块化体系结构;设计实现,结合可扩展性,灵活性等进行设计优化;用户体验优先

Python第三方库安装

13万+第三方库 https://pypi.org/ 检索第三方库
实例开发区块链相关程序:pypi.org搜索blockchain;挑选合适的第三方库,完成所需功能

  • 安装
    使用pip (命令行下执行) pip -hpip install <第三方库名>pip install -U <库>更新
    pip uninstall <库>卸载;pip download <库>下载但不安;pip show <库>看库信息
    pip search <关键词>根据关键词搜索第三方库;pip list已安装的
  • 集成安装
    Anaconda集成开发工具 https://www.continuum.io 数据计算领域 支持800+库
  • 文件安装方法
    http://www.lfd.uci.edu/~gohlke/pythonlibs/ UCI页面 一批下载了还需要编译的库的编译后版本

模块7 os库使用

os库提供通用的、基本的操作系统交互功能

  • 路径操作:os.path子库,处理文件路径及信息
    os.path.abspath(path)返回path在当前系统的绝对路径
    os.path.normpath(path)统一用\分隔路径
    os.path.realpath(path)相对路径
    os.path.dirname(path)返回path中目录名称
    os.path.basename(path)获取path中最后文件名
    os.path.join(path,*paths)组合path和paths返回一个路径字符串
    os.path.exists(path)判断文件或目录是否存在
    os.path.isfile(path)是否是已经存在文件 os.path.isdir(path)
    os.path.getatime(path)返回文件或目录上次访问时间
    os.path.getmtime(path)返回文件或目录最近一次修改时间
    os.path.getctime(path)返回文件或目录创建时间
    os.path.getsize(path)文件大小
  • 进程管理:启动系统其他程序
    os.system(command)执行程序或命令command
import os
os.system("C:\\Windows\\System64\\calc.exe")
  • 环境参数:获取系统软硬件信息等环境参数
    os.chdir(path)修改当前程序操作的路径
    os.getcwd()返回程序当前路径
    os.getlogin()获取系统登录名
    os.cpu_count()返回cpu数量
    os.urandom(n)获取n字节长度的随机字符串,用于加解密运算

实例14 第三方库自动安装脚本

NumPy N维数据表示和运算
Matplotlib 二维数据可视化
PIL 图像处理
Scikit-Learn 机器学习和数据挖掘
Requests HTTP协议访问和网络爬虫
Jieba 中文分词
Beautiful Soup HTML和XML解析器
Wheel Python第三方库文件打包工具
Django Python最流行的Web开发框架
Flask 轻量级Web开发框架
WeRoBot 微信机器人开发框架
SymPy 数学符号计算工具
Pandas 高效数据分析和计算
Networkx 复杂网络和图结构的建模和分析

编写各类自动化运行程序脚本

os.system()

三阶段:函数式编程-面向对象编程-pythonic编程
基础语法-进阶语法-高级语法
python网络爬虫与信息提取-py数据分析与展示-py机器学习应用-py科学计算三维可视化-py+大数据+人工智能-py+嵌入式+可编程硬件
网易云课程 进阶语法

Python_note8 程序设计方法学+Python第三方库安装+os库相关推荐

  1. python第三方模块安装路径_Python第三方Window模块文件的几种安装方法

    python安装第三方模块 使用软件管理工具pip python自带了包管理工具,就像手机app商城,91助手等软件的功能一样. python2与python3安装模块的方法相似,值得注意的是,你在p ...

  2. Python中如何安装pip库

    Python中如何安装pip库 新手第一次写博客(紧脏~) 建议先更新到最新的pip 官网附上www.python.org(官网上的东西是最基础也是最全的,还有Python基础教程!!!巴适得很) 我 ...

  3. 解决python使用pip安装下载库出现错误:ERROR:Cannot unpack file xxxx情况

    解决python使用pip安装下载库出现错误:ERROR:Cannot unpack file xxxx情况   以scipy库下载安装为例,在命令行中直接输入命令:pip install scipy ...

  4. 程序设计方法学-python

    程序设计方法学 文章目录 程序设计方法学 实例:体育竞技分析 python程序设计思维 计算思维与程序设计 基本的程序设计模式 步骤 OS库的基本使用 介绍 OS库路径操OS作 OS库进程管理 OS库 ...

  5. python都需要安装哪些库_python常用到哪些库?

    Python作为一个设计优秀的程序语言,现在已广泛应用于各种领域,依靠其强大的第三方类库,Python在各个领域都能发挥巨大的作用. 下面我们就来看一下python中常用到的库: 数值计算库: 1. ...

  6. python re库安装_python 库安装方法及常用库

    python库安装方法: 方法一:setpu.py 1.下载库压缩包,解压,记录下路径:*:/**/--/ 2.运行cmd,切换到*:/**/--/目录下 3.运行setup.py build 4.然 ...

  7. 多版本python共存,安装三方库到指定python版本 多Python版本和虚拟环境

    多个Python版本:在同一台机器上安装不同的Python,例如2.7和3.4. 虚拟环境:独立的环境,既可以同时安装特定版本的Python,也可以安装任何特定于项目的软件包,而不会影响任何其他项目. ...

  8. python json库安装_jsonc库的安装以及简单使用

    if 0 1:cpp在linux下的配置 JSON 官方的解释为:JSON 是一种轻量级的数据传输格式. 关于 JSON 更具体的信息,可参见 JSON 官网:http://www.json.org. ...

  9. Python第三方数据库安装

    Python第三方数据库的安装---numpy.pandas安装步骤及问题 任务: 1.检验python的路径是否已经添加到环境变量里 2.安装numpy库 3.调用numpy库 步骤: 任务: 1. ...

最新文章

  1. 好久没有看到这么有建设性德文章,由衷地赞叹《知其所以然地学习(以算法学习为例)》-By 刘未鹏(pongba)
  2. 生产环境elasticsearch5.0.1和6.3.2集群的部署配置详解
  3. AI产业化应用落地,飞桨三大服务平台帮你开启加速模式
  4. 免费计算机维修基础教程,《计算机组装与维修基础教程》第1课:计算机基础知识.ppt...
  5. 自动Mock,让编写单元测试更简单
  6. 计算机共享盒子,电脑之间如何共享文件
  7. JEECG 缓存用法
  8. (转)基于MVC4+EasyUI的Web开发框架经验总结(8)--实现Office文档的预览
  9. pfSense book Html版下载!
  10. CStdioFile UNICODE编译 读取中文汉字乱码 .
  11. 图灵在计算机科学方面主要贡献,图灵在计算机理论方面的贡献
  12. 向量数量积公式_向量点积公式证明
  13. banner定制网站
  14. linux 文件服务器dlna,Ubuntu DLNA服务器的构建
  15. python 日期运算_Python中关于日期的计算总结
  16. sqlserver数据库错误码
  17. 竞争对手强势、内忧仍存,小米如何守住智能家居高地?
  18. 关于Ubuntu14.04拼音不能正常使用的解决方案
  19. 2021年危险化学品经营单位安全管理人员考试报名及危险化学品经营单位安全管理人员找解析
  20. 2021京东Java面试真题:c和java哪个更适合开发游戏

热门文章

  1. 【 C 】作为函数参数的多维数组
  2. 【Verilog HDL】设计硬件电路时,如何避免生成锁存器?
  3. 移动端html模板卡片列表效果,移动手机Material Design风格信息卡片UI设计
  4. 信号源的ALC环路介绍
  5. DSP的GEL文件介绍
  6. We PE U盘安装win7系统
  7. React 教程:快速上手指南
  8. 使用masonry布局旋转View的问题
  9. cmake 常用变量和常用环境变量查表手册
  10. Tsung压力测试介绍