程序设计方法

8.1体育竞技分析实例

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 #模拟n局比赛 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 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 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()

8.2Python程序设计思维

8.3第三方库安装

f1:pip安装方法

常用指令:

1.pip install <第三方库名>

2.pip install -U <第三方库名> 更新版本

3.pip uninstall <第三方库名>

4.pip download  <第三方库名> 下载不安装

5.pip show  <第三方库名> 列出某个指定第三方库的详细信息

6.pip search <关键词> 搜索相关第三方库

7.pip list 列出当前系统已经安装的第三方库

f2:集成安装方法

Anaconda https://www.anaconda.com/

f3:文件安装方法

UCI页面:https://www.lfd.uci.edu/~gohlke/pythonlibs/

8.4os库的基本使用

与操作系统相关

1.路径操作

os.path子库以path为入口,用于操作和处理文件路径

import os.path
#os.path as op
os.path.abspath(path) 返回path在当前系统的绝对路径
os.path.normpath(path)归一化path的表示形式,统一用\\分隔路径
os.path.relpath(path)返回当前程序与文件之间的相对路径
os.path.dirname(path)返回path中的目录名称
os.path.basename(path)返回path中最后的文件名称
os.path.join(path,*paths)组合path与paths,返回一个路径字符串
os.path.exits(path)判断path对应文件或目录是否存在,返回True或False
os.path.isfilepath(path)判断path对应是否为已存在的文件

os.path.isdirpath(path)判断path对应是否为已存在的目录
os.path.getatime(path)返回path对应文件或目录上一次的访问时间
os.path.getmtime(path)返回path对应文件或目录最近一次的修改时间
os.path.getctime(path)返回path对应文件或目录的创建时间 time.ctime()
os.path.getsize(path)返回path对应文件的大小,以字节为单位

2.进程管理

os.system(command)执行程序或命令command

3.环境参数

os.chdir(path) 修改当前程序操作的路径

os.getcwd() 返回程序的当前路径

os.getlogin()获得当前系统登录用户名称

os.cpu_count()获得当前系统的cpu数量

os.urandom(n) 获得n个字节长度的随机字符串,通常用于加解密运算

8.5第三方库自动安装脚本

Python第八章(北理国家精品课 嵩天等)的更多相关文章

  1. Python第六章(北理国家精品课 嵩天等)

    一 1.集合类型定义及其操作: 集合用{}表示,元素用逗号分隔,无序,唯一 集合操作符: |:并 -:减 &:交 ^ :补 <= <:判断子集关系 >= >:判断包含关 ...

  2. Python第七章(北理国家精品课 嵩天等)

    7.1文件的使用 1.1文本类型 文本文件:由单一特定编码组成的文件,如.txt 二进制文件:如.png,.avi 1.2文件的打开和关闭 打开-操作-关闭 <变量名> = open(&l ...

  3. Python第四章(北理国家精品课 嵩天等)

    一.程序的分支结构 二.身体质量指数BMI #CalBIv1.py height,weight = eval((input("请输入身高(米)和体重\(公斤)[逗号隔开]:"))) ...

  4. Python第二章(北理国家精品课 嵩天等)

    一.深入理解Python语言 语法简洁 >13万第三方库 二.Python蟒蛇绘制 #PythonDraw.py import turtle turtle.setup(650,350,200,2 ...

  5. Python第五章(北理国家精品课 嵩天等)

    函数和代码复用 函数的定义和使用 def <函数名>(<参数(0个或多个)>): <函数体> return <返回值>可选参数放在不可选参数之后*b不定 ...

  6. Python第三章(北理国家精品课 嵩天等)

    一.数字类型及其操作 整数:pow(x,y),想算多大,就算多大:以0b或0B开头表示二进制:以0o或0O开头表示八进制:以0x或0X开头表示十六进制. 浮点数:取值范围-10^308至10^308, ...

  7. Python第一章(北理国家精品课 嵩天等)

    1.1程序设计基本方法 IPO 分析问题,划分边界,设计算法: 编写程序,调试测试,升级维护. 1.2Python开发环境配置 1.3实例1:温度转换 1.4Python程序语法元素分析 缩进,#添加 ...

  8. 【学习笔记】PYTHON语言程序设计(北理工 嵩天)

    1 Python基本语法元素 1.1 程序设计基本方法 计算机发展历史上最重要的预测法则     摩尔定律:单位面积集成电路上可容纳晶体管数量约2年翻倍 cpu/gpu.内存.硬盘.电子产品价格等都遵 ...

  9. Python处理json数据--世界国家维度数据

    1.准备国家的json数据 将准备好的json数据放在指定的目录下,此处可以重这里下载 2.测试编写python脚本处理json提取字段值 #coding:utf8 import time, re, ...

随机推荐

  1. ExtJs写本地ArrayStore,ComboBox调用

    1.自定义本地ArrayStore var sCurStore = new Ext.data.ArrayStore({ //设备状态store fields: ["ckey", & ...

  2. load data导txt文件进mysql中的数据

    1.实验内容: 利用SQL语句“load data ”将“.txt”文本文件中的数据导入到mysql中 2.实验过程: 首先我创了一个txt(也可以是其他的),设置其编码为utf-8,在windows ...

  3. Openstack中keystone与外部LDAP Server的集成

    openstack中keystone鉴权的用户user和password信息,通常保存在mysql数据库的keystone库: 表local_user和表password: keystone也支持外部 ...

  4. mtcnn

    1.widerface样本标签处理 图片名 x1  y1  x2  y2  x11 y11  x22  y22  多人脸框 # -*- coding: utf- -*- ""&qu ...

  5. leetcode-979-树

    https://leetcode.com/problems/distribute-coins-in-binary-tree/ n个硬币随机分布在n个点上,要求每个点都拥有一个硬币,问最小的花费. 对每 ...

  6. [LeetCode] 83. Remove Duplicates from Sorted List ☆(从有序链表中删除重复项)

    描述 Given a sorted linked list, delete all duplicates such that each element appear only once. Exampl ...

  7. JAVA 把小数分成整数和小数

    在进行进制转换的时候,我们需要把小数分为整数和小数两部分. 这里介绍两种方法. 第一种举个例子:1.23分为1 和 0.23 第二种:1.23 分为 1 和23 有时需要具体情况具体分析自己需要哪种类 ...

  8. js中字节B转化成KB,MB,GB

    function change(limit){ var size = ""; if(limit < 0.1 * 1024){ //小于0.1KB,则转化成B size = l ...

  9. 手机端页面自适应解决方案—rem布局进阶版

    手机端页面自适应解决方案—rem布局进阶版   https://www.jianshu.com/p/985d26b40199 注:本文转载之处:https://www.cnblogs.com/anni ...

  10. npm安装material-design-icons总是失败

    项目中使用npm或者cnpm安装material-design-icons总是失败 解决办法: 1.自己上github下载后拷贝到项目node_modules目录下 2.还有npm安装老出问题,npm ...