程序设计方法

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. git删除文件夹

    git  rm  要删除的文件夹  -r -f   git  commit  -m  'del  config' git  push 使用场景,删除test文件夹,本来在码云上,正常的文件夹右击会出现 ...

  2. java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: AAPT2 error: check logs for details

    Caused by: java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Except ...

  3. Asp.net core Identity + identity server + angular 学习笔记 (第五篇)

    ABAC (Attribute Based Access Control) 基于属性得权限管理. 属性就是 key and value 表达力非常得强. 我们可以用 key = role value ...

  4. C#防盗链处理类的代码

    如下的内容是关于C#防盗链处理类的内容. public class FileHandler:IHttpHandler{public FileHandler(){} public void Proces ...

  5. 支付-stripe

    国外三大支付paypal,braintree,stripe,有兴趣可以去了解一下他们的区别. 支付宝和paypal基本只需要发送charge信息请求交给后端做就ok了,那么stripe前端也只需要收集 ...

  6. json处理+list.sort()排序

    #coding:utf-8 """ json是一种轻量级数据交换格式,可以对复杂数据进行表达和存储 规格: 1.数据保存在键值对里 2.键值对之间由逗号分隔 3.花括号用 ...

  7. 【C#】【对象转XML】xml序列化

    笔记:xml序列化 /// <summary>        /// xml序列化        /// </summary>        /// <param nam ...

  8. linux命令-diff对比文件工具

    diff 命令是 linux上非常重要的工具,用于比较文件的内容,特别是比较两个版本不同的文件以找到改动的地方.diff在命令行中打印每一个行的改动.最新版本的diff还支持二进制文件.diff程序的 ...

  9. C++标准模板库(STL)之Queue

    1.Queue的常用用法 queue:队列,实现的一个先进先出的容器. 1.1.queue的定义 使用queue,首先要加头文件#include<queue>和using namespac ...

  10. 【转】链接伪类(:hover)CSS背景图片有闪动BUG

    来源:http://www.css88.com/archives/744 --------------------------------------------------------------- ...