Python课程第八周笔记及作业

Python第八周

  • 笔记
  • 作业

笔记

(1) 体育竞技分析:模拟N场比赛
-计算思维:抽象+自动化
-模拟:抽象比赛过程+自动化执行N场比赛
-当N 越大时,比赛结果分析会越科学
比赛规则
-双人击球比赛:A&B,回合制,5局3胜
-开始时一方先发球,直至判分,接下来胜者发球
-球员只能在发球局得分,15分胜一局

(2) 自顶向下(设计)
解决复杂问题的有效方法
-将一个总问题表达为若干个小问题组成的形式
-使用同样方法进一步分解小问题
-直至,小问题可以用计算机简单明了的解决

(3) 自底向上(执行)
逐步组建复杂系统的有效测试方法
-分单元测试,逐步组装
-按照自顶向下的相反路径操作
-直至,系统各部分以组装的思路都经过测试和验证

(4) 程序总体框架及步骤
分别对应是个函数
-步骤1:打印程序的介绍性信息式 -printInfo()
-步骤2:获得程序运行参数:proA,proB,n -getInputs()
-步骤3:利用球员A和B的能力值,模拟n局比赛 -simNGames()
-步骤4:输出球员A和B获胜比赛的长词及概率 -printSummary()
Python课程第八周笔记及作业_第1张图片Python课程第八周笔记及作业_第2张图片在这里插入图片描述Python课程第八周笔记及作业_第3张图片Python课程第八周笔记及作业_第4张图片Python课程第八周笔记及作业_第5张图片Python课程第八周笔记及作业_第6张图片Python课程第八周笔记及作业_第7张图片Python课程第八周笔记及作业_第8张图片
(5) 理解自顶向下和自底向上
-理解自顶向下的设计思维:分而治之
-理解自底向上的执行思维:模块化集成
-自顶向下是“系统”思维的简化

(6) 三种人类思维特征
-逻辑思维:推理和演绎,数学为代表,A->B,B->C,A->C
-实证思维:实验和验证,物理为代表,引力波<-实验
-计算思维:设计和构造,计算机为代表,汉诺塔递归

(7) 抽象和自动化
-计算思维:computational thinking
-抽象问题的计算过程,利用计算机自动化求解
-计算思维是基于计算机的思维方式
Python课程第八周笔记及作业_第9张图片Python课程第八周笔记及作业_第10张图片Python课程第八周笔记及作业_第11张图片Python课程第八周笔记及作业_第12张图片Python课程第八周笔记及作业_第13张图片抽象问题的计算过程,利用计算机自动化求解
-计算思维基于计算机强大的算力及海量数据
-抽象计算过程,关注设计和构造,而非因果
编程是将计算思维变成现实的手段

(8) 计算生态
从开源运动说起
-1983,Richard Stallman启动GNU项目
-1989,GNU通用许可协议诞生,自由软件时代到来
-1991,Linus Torvalds发布了Linux内核
-1998,网景浏览器开源,产生了Mozilla,开源生态逐步建立
开源思想深入演化和发展,形成了计算生态
计算生态以开源项目为组织形式,充分利用“共识原则”和“社会利他”组织人员,在竞争发展、相互依存和迅速更迭中完成信息技术的更新换代,形成了技术的自我眼花路径。
计算生态没有顶层设计、以功能为单位、具备三个特点
①竞争发展②相互依存③迅速更迭
-以开源项目为代表的大量第三方库
Python语言提供>15万个第三方库
-库的建设经过野蛮生长和自然选择
同一个功能,Python语言2个以上第三方库
-库之间相互关联使用,依存发展
Python库间广泛联系,逐级封装
-社区庞大,新技术更迭迅速
AlphaGo深度学习算法采用Python语言开源
TIPS: API != 生态
创新:跟随创新、集成创新、原始创新
-加速科技类应用创新的重要支撑
-发展科技产品商业价值的重要模式
-国家科技体系安全和稳固的基础

(9) 计算生态的运用
-编程的起点不是算法而是系统
-编程如同搭积木,利用计算生态为主要模式
-编程的目标是快速解决问题

(10) 用户体验
实现功能->关注体验
-用户体验指用户对产品简历的主观感受和认识
-关心功能实现,更要关心用户体验,才能做出好产品
-编程知识手段,不是目的,程序最终为人类服务

(11) 提高用户体验的方法
方法一:进度展示
-如果程序需要计算时间,可能产生等待,请增加进度展示
-如果程序有若干步骤,需要提示用户,请增加进度展示
-如果程序可能存在大量次数的循环,请增加进度展示
方法二:异常处理
-当获得用户输入,对合规性需要检查,需要异常处理
-当读写文件时,对结果进行判断,需要异常处理
-当进行输入输出时,对运算结果进行判断,需要异常处理
其他类方法
-打印输出:特定位置,输出程序运行的过程信息
-日志文件:对程序异常及用户使用进行定期记录
-帮助信息:给用户多种方式提供帮助信息

(12) 基本的程序设计模式
从IPO开始
-确定IPO:明确计算部分及功能边界
-编写程序:将计算求解的设计变成现实
-调试程序:确保程序按照正确逻辑能够正确运行
模块化设计
-通过函数或对象封装将程序划分为模块及模块间的表达
-具体包括:主程序、子程序和子程序间关系
-分而治之:一种分而治之、分层抽象、体系化的设计思想
-紧耦合:两个部分之间交流很多,无法独立存在
-松耦合:两个部分之间交流很少,可以独立存在
-模块内部紧耦合、模块之间松耦合
配置化设计
-引擎+配置:程序执行和配置分离,将可选参数配置化
-将程序开发变成配置文件编写,扩展功能而不修改程序
-关键在于接口设计,清晰明了、灵活可扩展
从应用需求到软件产品
①产品定义②系统架构③设计与实现④用户体验
1) 产品定义:对应用需求充分理解和明确定义
产品定义,而不仅是功能定义,要考虑商业模式
2) 系统架构:以系统方式思考产品的技术实现
系统架构,关注数据流、模块化、体系架构
3) 设计与实现
结合可扩展性、灵活性等进行设计优化
4) 用户体验:从用户角度思考应用效果
用户至上,体验有限,以用户为中心

(13) Python第三方库
Python课程第八周笔记及作业_第14张图片实例:开发与区块链相关的程序
第一步:在pypi.org搜索blockchain
第二步:挑选适合开发目标的第三方库作为基础
第三步:完成自己需要的功能
安装Python第三方库的三种方法
-方法一(主要方法):使用pip命令
-方法二:集成安装方法
-方法三:文件安装方法

(14) pip安装方法
Python课程第八周笔记及作业_第15张图片Python课程第八周笔记及作业_第16张图片Python课程第八周笔记及作业_第17张图片Python课程第八周笔记及作业_第18张图片Python课程第八周笔记及作业_第19张图片Python课程第八周笔记及作业_第20张图片主要安装方法,适合99%以上情况
-适合Windows、Mac、Linux等操作系统
-未来获取第三方库的方式,目前的主要方式
-适合99%以上的情况,需要联网安装

(15) Python集成安装方法
Python课程第八周笔记及作业_第21张图片
(16) 文件安装方法
Python课程第八周笔记及作业_第22张图片Python课程第八周笔记及作业_第23张图片
(17) os库的使用
os库提供通用的、基本的操作系统交互功能
-os库是Python标准库,包含几百个函数
-常用路径操作、进程管理、环境参数等几类
-路径操作:os.path子库,处理文件路径及信息
-进程管理:启动系统中其他程序
-环境参数:获得系统软硬件信息等环境参数

(18) 路径操作
os.path子库以path为入口,用于操作和处理文件路径
import os.path
import os.path as op
Python课程第八周笔记及作业_第24张图片Python课程第八周笔记及作业_第25张图片Python课程第八周笔记及作业_第26张图片Python课程第八周笔记及作业_第27张图片Python课程第八周笔记及作业_第28张图片
(19) 进程管理
os.system(command)
-执行程序或命令command
-在Windows系统中,返回值为cmd的调用返回信息

(20) 环境参数
Python课程第八周笔记及作业_第29张图片Python课程第八周笔记及作业_第30张图片在这里插入图片描述
(21) 第三方库自动安装脚本
Python课程第八周笔记及作业_第31张图片Python课程第八周笔记及作业_第32张图片Python课程第八周笔记及作业_第33张图片Python课程第八周笔记及作业_第34张图片

作业

作业
单选题:
1
1 分
‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬以下选项关于计算生态描述错误的是:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬
A 计算生态类似自然生态,不受单一组织或人物的控制,形成了技术演化路径
B 高质量计算生态需要顶层设计的参与才能保障
C 计算生态主要以开源项目为组织形式
D 计算生态存在竞争发展、相互依存和迅速更迭的特点
正确答案 B
计算生态以竞争发展、相互依存和迅速更迭为特点,在开源项目间不存在顶层设计,以类自然界"适者生存"的方式形成技术演进路径。
2
1 分
‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬关于os库,以下选项中可以启动进程执行程序的函数是:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬
A os.run()
B os.system()
C os.start()
D os.process()
正确答案 B
除了os.system(),选项其他函数都不存在。
3
1 分
‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬关于os.path子库,以下选项中用来计算相对路径的函数是:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬
A os.path.normpath(path)
B os.path.relpath(path)
C os.path.abspath(path)
D os.path.basename(path)
正确答案 B
顾名思义:os.path.relpath(path) 是 relative path处理函数。
4
1 分
‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬关于Python的os库,以下选项描述正确的是:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬
A os库仅适用于Windows平台
B os库提供了几十个函数,功能比较有限
C os库提供了路径操作、进程管理等若干类功能
D os库是一个第三方库,需要安装后使用
正确答案 C
os库是Python重要的标准库之一,提供了几百个函数功能,覆盖与操作系统、文件操作等相关的众多功能。os库适合所有操作系统。
5
1 分
‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬关于软件产品和程序的区别,以下描述正确的是:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬
A 软件程序就是软件产品
B 软件产品=程序功能+用户体验
C 软件产品=程序功能+速度优化
D 从程序功能到软件产品的产品化代价很小
正确答案 B
产品不仅需要功能,更需要更好的用户体验。往往,产品都需要综合考虑技术功能和人文设计,这源于产品的商业特性。即,商业竞争要求产品不能只关心技术功能,更要关心用户易用和喜好需求。
6
1 分
‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬关于计算思维,以下选项描述正确的是:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬
A 计算思维关于设计和构造,可以脱离计算机而存在
B 计算思维是基于计算机的思维模式
C 计算思维是逻辑思维的演进
D 计算思维从古至今一直存在
正确答案 B
计算思维是基于计算机的思维模式,计算机出现之前,由于没有快速计算装置,计算所反映的思维模式主要是数学思维,即通过公式来求解问题。当快速计算装置出现后,计算思维才真正形成。
7
1 分
‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬关于用户体验,以下选项描述正确的是:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬
A 好产品不一定有好的用户体验,关键在于功能创意
B 用户体验是客观的,完全可以靠技术来实现
C 编程只是手段,程序最终为人类服务,用户体验很重要
D 用户体验不重要,只要有程序功能即可
正确答案 C
一个提醒进度的进度条、一个永不抛出异常的程序、一个快速的响应、一个漂亮的图标、一个合适尺寸的界面等都是用户体验的组成部分。总的来说,用户体验是一切能够提升程序用户感受的组成。
8
1 分
‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬以下选项对计算思维本质描述正确的是:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬
A 描述和执行
B 抽象和执行
C 计算和思维
D 抽象和自动化
正确答案 D
计算思维的本质是:抽象和自动化。
抽象一个运算过程,以能够按步骤描述为目标;并利用计算机运算的高速特性自动化执行。
9
1 分
‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬自顶向下设计主要由下列哪个语法元素实现?‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬
A 对象
B 过程
C 循环结构
D 函数
正确答案 D
函数是自顶向下设计的关键元素,通过定义函数及其参数逐层开展程序设计。
10
1 分
‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬关于Python第三方库安装方法,以下选项描述错误的是:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬
A 访问UCI网站下载安装文件
B 使用pip命令
C 使用集成安装工具
D 联系第三方库作者索要安装文件
正确答案 D
请不要联系作者索要第三方库,这不是获取第三方库的合理模式。

程序设计题:
一、
英文字符的鲁棒输入
描述
获得用户的任何可能输入,将其中的英文字符进行打印输出,程序不出现错误。

#作业第一题
s=input()
for i in s:
    if ord(i)>=97 and ord(i)<=120:
        print(i,end='')
    else:
        continue

二、
数字的鲁棒输入
描述
获得用户输入的一个数字,可能是浮点数或复数,如果是整数仅接收十进制形式,且只能是数字。对输入数字进行平方运算,输出结果。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬
要求:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬
(1)无论用户输入何种内容,程序无错误;‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬
(2)如果输入有误,请输出"输入有误"。

#作业第二题
s=input()
try:
    if complex(s)==complex(eval(s)):
        print(eval(s)**2)
except:
    print("输入有误")

在这里插入图片描述

你可能感兴趣的:(自学,python)