程序设计方法

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. Vue 组件的使用

    1.引入组件 import Week from '../week/main.vue' export default { name: "classMain", components: ...

  2. hbase的api操作之scan

    扫描器缓存----------------    面向行级别的.    @Test    public void getScanCache() throws IOException { Configu ...

  3. Confluence 6 在升级之前

    在这个指南中,我们将会与你一同对最新的 Confluence 站点在 Windows 或者 Linux 平台进行安装和更新. 如果你的 Confluence 安装实例是当前的许可证的话,那么对 Con ...

  4. 【堆】【洛谷例题】p1090 p1334 p1177

    (都是比较简单的典型的而且都是小根堆的例题) p1090 合并果子[传送门] 算法分析:要尽量使用最小的体力合并完所有果子,那么每次合并的两堆果子应该是这所有堆中最小的一个(因为越先合并的堆要被算的次 ...

  5. discuss!X3.4 帖子显示昵称而不是用户名的解决办法

    问题:dedecmsV5.7和discuz!X3.4整合之后,实现免激活登陆之后,从dede过来的用户在discuz 直接展示的用户名,因为我们的用户名是手机号,所以不想帖子都展示的是用户名. 因为我 ...

  6. 嵌套if-esle语句

    C语言自学之嵌套if-esle语句 Dome : 获奖条件为年销售业绩100万以上,并且入职满两年的员工.小明进入公司1年,销售业绩为120万. 在代码编辑器中使用嵌套if-else语句判断小明是否有 ...

  7. web service 上传file说明

    之前做过一个接口,PI发布WEB SERVICE给对方调,传附件到SAP... 接口中包含文件名称,文件类型,文件流... 1.SOAPUI新建项目: 文件内容的地方会自动带上一个ID,这个ID对应文 ...

  8. 维修数列 Splay(这可能是我写过最麻烦的题之一了。。。用平衡树维护dp。。。丧心病狂啊。。。。)

    题目来源BZOJ1500 这题的思路: 1.这题的话,稍微会splay的人,一般前面四个都不是问题..主要是最后的一个,要你在修改的同时要维护好最大字段和... 2.最大字段和其实就是区间合并.具体操 ...

  9. vue-cli(vue脚手架) 简单使用

    1.vue-cli 作用 vue-cli作为vue的脚手架,可以帮助我们在实际开发中自动生成vue.js的模板工程. 2.vue-cli 使用 a. 安装全局vue-cli npm install v ...

  10. idea 中add configuration

    记住:点击“+”号配置tomcat 第一步当然先得建一个web项目 1.file -> new -> project -Next -> Finish -项目建好了接下来就是配置了 - ...