ImageVerifierCode 换一换
格式:DOCX , 页数:65 ,大小:2.20MB ,
资源ID:7560297      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7560297.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Python程序设计语言笔记.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Python程序设计语言笔记.docx

1、Python程序设计语言笔记Python 程序设计语言 笔记第一周 基本程序设计1.1程序设计的基本方法 IPO(输入、输出、处理(算法)(1)理解问题的计算部分:抽象问题 使用IPO 从多种方法中选择一种解决问题(2)程序编写步骤: 分析问题:分析问题的计算部分 确定问题:将计算部分划分为IPO三部分 设计算法 编写程序 调试测试 升级维护例:温度转换问题【问题描述】对于摄氏度和华氏度,存在以下转换:摄氏度1标准大气压0度100度华氏度1标准大气压0度212度请利用python程序完成以上转换。【解题步骤】1 分析问题的计算部分 简化为三个步骤:2 确定功能,利用IPO方法进一步分析: 确定

2、IPO输入:华氏度(F)/摄氏度(C) 编写程序处理:温度转化公式 调试程序输出:摄氏度(C)/华氏度(F)3 设计算法4 编写程序5 测试调试6 升级维护1.2 python程序元素分析程序1:# TempConvert.pyval = input(请输入带温度表示符号的温度值(例如: 32C): )if val-1 in C,c:# in 判断左侧内容是否在右侧集合中 f = 1.8 * float(val0:-1) + 32# float() 将括号中的字符串转换为浮点数 print(转换后的温度为: %.2fF%f)# .2表示输出的浮点数f有两位小数elif val-1 in F,

3、f: c = (float(val0:-1) - 32) / 1.8 print(转换后的温度为: %.2fC%c)else: print(输入有误)(1)缩进:标明代码层次关系、表明程序框架(2)注释:辅助说明,不被执行也不受语法约束,可以写入任何内容,用以提高可读性 注释方法:1 单行注释:#开头;2 多行注释: 开头和结尾;(3)变量:能够表示值的一个名称,值可以变化 命名:给自定义元素关联名字的过程(唯一性) 命名规则: 大小写字母、数字、下划线(大小写不统一)首字母只能是大小写字母或下划线,不能使用空格中文等非字母符号也可以作为名字 不能与python定义的保留字相同(4)表达式:产

4、生/计算数据值的一行代码(通过保留字和操作符)(5)空格的使用: 表示每行缩进关系的空格不能改变 空格不能分割命名(6)input()函数:从控制台获得用户的输入。使用方法为: = input()获得的用户输入以字符串的形式保存在中如果val = “28C”,则val-1=“C”,val0:2 = “28”表示从区间0,2)的一个子字符串可以通过val0:-1来获取除了最后一个字符以外的字符串(7)分支语句:根据判断条件,执行不同的路径。使用方法:If elif elif else: (8)赋值:同步赋值:同时给多个变量赋值。使用方法:,=,例:若要使变量x和y的值实现交换,则只需一行代码:x

5、, y = y, x(9)print()函数:用来输出字符信息,或以字符的形式输出变量的值,通过%选择要输出的变量(10)循环语句:控制程序循环运行的语句,根据判断/计数条件确定循环次数。使用方法:for I in range():函数编写模板(1)input print模板:(2)initial print模板: 用户输入:input() 初始变量:运算需要的初始值 运算部分:算法实现 运算部分:算法实现 结果输出:print() 结果输出:print()1.3 python蟒蛇程序的实现分析:程序2:import turtle#(乌龟)轨迹描绘函数库def drawSnake(rad,an

6、gle,len,neckrad):#绘制蟒蛇函数 for i in range(len): turtle.circle(rad,angle)#圆形轨迹函数,参数rad描述圆形半径的位置 turtle.circle(-rad,angle)#rad为负值,半径在乌龟右侧 turtle.circle(rad,angle/2)# 参数angle表示乌龟沿圆形爬行的弧度值 turtle.fd(rad)#也称为turtle.forward()函数#表示轨迹直线移动,参数表示移动距离 turtle.circle(neckrad+1,180) turtle.fd(rad*2/3)def main(): tur

7、tle.setup(1300,800,0,0)#启动图形窗口,参数分别为窗口的宽度、高度#窗口左上角点的横、纵坐标位置 pythonsize = 30 turtle.pensize(pythonsize)# 轨迹的宽度,参数为像素大小,这里为30 turtle.pencolor(blue)#轨迹颜色,参数为字符串(英文或16进制颜色代码) turtle.seth(-40)#轨迹运动方向,参数为角度(逆时针,以正东方向为0度)drawSnake(40,80,5,pythonsize/2)#绘制蟒蛇函数,用以绘制python蟒蛇main()def定义函数: 函数是一组代码的集合,用以完成特定的功能

8、,这组代码的名字就叫函数名 def所定义的函数,必须要通过函数名对函数进行调用才能执行函数库的引用:方式一:import 如:import turtle方式二:from import from import*调用函数时不需要使用库名,直接使用如:from turtle * fd(100)注意:方式一可调用不同库中的同名函数,方式二则不可第二周 类型及应用2.1类型 编程语言对数据的划分数字类型、字符串类型、元组类型列表类型、文件类型、字典类型(1)数字类型:数字类型对python语言中的数字的表示和使用进行了定义和规范1分类: 整数类型 浮点数类型 复数类型 整数类型概念与数学一致,没有取值范

9、围限制例:1010(十进制数),0x9a(十六进制数,以0x/0X开头),0b010(二进制数,以0b/0B开头)0o123(八进制数,以0o/0O开头) 浮点数类型是带有小数点及小数的数字,数值范围和小数精度有一定限制,因系统而异例:0.0(与整数0不同),96e4(科学计数法,e/E代表10的次幂,e/E后的数字为指数) 复数类型概念与数学一致,z=a+bj(j/J代表虚数部分)例:12.3+4j对于一个复数,如z = 1.1+9j,可以使用z.real和z.imag来获得复数的实部和虚部2数字类型的关系: 特例 特例整数 浮点数 复数 (范围逐渐扩大) 整数浮点数浮点数因此这三种数字类型

10、可以进行混合运算,生成结果为最宽类型 例: 3+4.2 = 7.23 类型转换:利用int(), float()和complex()三个函数实现例:int(4.5) = 4; float(4) = 4.0; complex(4) = 4 + 0j;【注意】不能将复数转成整数和浮点数!(但可以间接利用取实部虚部的方法实现)4 数字类型的判断 type(x); 例:type(4.5) 得到 5 数字类型的运算:x+yx与y之和x-yx与y之差x*yx与y之积x/yx与y之商x/y不大于x和y之商的最大整数x%yx与y之商的余数+xx-xx的负值x*yx的y次幂abs(x)x的绝对值divmod(x

11、,y)(x/y,x%y)pow(x,y)x的y次幂(2)字符串类型 用双引号“”或单引号括起来的一个或多个字符 可以保存在变量中,也可以单独存在1判断字符串类型:输入:type(str1) 输出:2可以使用 转义字符输出“”或之类的字符也可以用同样的方法 输出转义字符,n 输出换行符等例:print(“”大家好”);输出:”大家好”3 字符串是一个字符序列,字符串最左端位置标示为0,向右递增,字符串中字符位置的标示称为“索引”,例如:0123456789可以使用单个索引访问字符串的特定位置。格式如下:其中索引可以为常量和表达式4 python中字符串(设长度为L)索引从0开始,最后一个字符索引

12、为L-1同时也允许使用负数,对字符串从右至左进行反向检索,最右索引值为-1可以通过两个索引值来确定一个范围,从而返回这个范围内的子字符串。格式如下:,其中start和end都为整型,索引范围为start,end)程序实例:【题目描述】输入一个月份数字,返回对应月份名称的缩写【分析】IPO模式: 输入:输入一个表示月份的数字(1-12) 处理:利用字符串基本操作实现功能 输出:输出数字对应月份名称缩写【解答】程序3:# month.pymonths=JanFebMarAprMayJunJulAugSepOctNovDecn=input(请输入月份数(1-12):)pos=(int(n)-1) *

13、 3monthAbbrev=monthspos:pos+3print(月份简写是+monthAbbrev+.)输入: 输出:7 月份简写是Jul.(3)元组类型(Tuple) 包含0个至多个元素的类型,元素之间用逗号分割例:t1 = 123, 45.6, “hello”; t2 = (); t3 = 12;元组外部可以使用或不使用括号1元组类型的三个特点: 元组中的元素可以是不同类型的,可以嵌套(用括号区分) 元组中的各个元素存在先后关系,可以通过索引来访问元组中的元素 例:t10; 元组定义后不能更改和删除 安全2 与字符串类型类似,可以通过索引区间来访问元组中的部分元素也可以对元组进行+和

14、*的运算 例:t21:;(4)列表类型( List ) 有序的元素集合1 与元组类似,列表的每个元素类型可以不同,可以通过索引访问列表的单个元素 例:a = 0,1,2 print(a) 输出:0,1,22 与元组不同,列表的大小没有限制,可以随时修改(5)小结:1 序列(字符串、元组、列表)类型的操作:序列操作符操作的含义 + 连接两个序列 + 对序列进行整数次重复索引序列中的元素:取序列的一个子序列len()序列中元素个数for in 对序列进行循环列举 in 成员检查,判断是否在序列中2 方法,格式如下:.func() 字符串方法:字符串方法含义.upper()字符串中字母大写.lowe

15、r()字符串中字母小写.strip()去掉两边空格和指定字符.split()按指定字符分割字符串为数组.join()连接两个字符串序列.find()搜索指定字符串.replace()字符串替换 列表方法:列表方法含义.append(x)将元素x增加到列表最后.sort()将列表元素排序.reverse()将列表元素反转.index(x)返回第一次出现元素x的索引值.insert(i,x)在位置i处插入新元素x.count(x)返回元素x在列表中的数量.remove(x)删除列表中第一次出现的元素x.pop(i)取出列表中位置i的元素并删除2.2 math库和random库的使用及实例:(1)m

16、ath库:圆周率pi的近似值,15位小数自然常数eee的近似值,15位小数ceil(x)x对浮点数向上取整floor(x)x对浮点数向下取整pow(x,y)x的y次幂log(x)lnx以e为底的对数log10(x)以10为底的对数sqrt(x)平方根exp(x)e的x次幂degrees(x)弧度转角度radians(x)角度转弧度sin(x)sinxx的正弦值cos(x)cosxx的余弦值tan(x)tanxx的正切值asin(x)arcsinxx的反正弦值acos(x)arccosxx的反余弦值atan(x)arctanxx的反正切值x-1.0, 1.0(2)random库:seed(x)给

17、随机数一个种子值,默认随机种子是系统时钟random()生成一个0, 1.0之间的随机小数uniform(a,b)生成一个a到b之间的随机小数randint(a,b)生成一个a到b之间的随机整数randrange(a,b,c)随机生成一个从a开始到b以c递增的数choice()从列表中随机返回一个元素shuffle()将列表中元素随机打乱sample(,k)从指定列表随机获取k个元素【注意】seed()函数用来设置随机种子,随机种子相同,随机序列相同 伪随机数实例:的计算 蒙特卡洛方法(随机抽样/统计实验方法) 先构造单位正方形和1/4圆向正方形内抛洒大量点统计落入圆内的点占所有点的比例【分析

18、】IPO: 输入:抛点的数量 处理:对于每个抛洒点,计算点到圆心的距离 通过判断该点在圆内或圆外。统计圆内点的数量 输出:值程序4:# pi.pyfrom random import randomfrom math import sqrtfrom time import clockDARTS = 1200hits = 0clock()for i in range(1,DARTS):#抛洒DARTS次 x, y = random(), random() # 给出随机坐标(x,y) dist = sqrt(x*2 + y*2)#计算抛点到原点的距离 if dist 75 打印空气污染警告 If P

19、M2.5值 75: print(Unhealthy. Be careful!) if PM 35: print(Good. Go running!)main()【运行结果】输出: 输入:What is todays PM2.5? 90Unhealthy. Be careful!(1)If语句格式:If :【注】是条件表达式,是一个或多个语句序列先判断条件,若true,则执行,再转向下一条语句;若false,则直接跳过,转向下一条语句(2)简单条件构造 简单条件基本形式 是关系操作符, =, , != 使用“=”表示赋值语句,使用“=”表示等于 除数字外,字符或字符串也可以按照字典顺序用于条件比

20、较 是布尔表达式,为bool类型布尔值的真假以True和False表示(3)二分支语法结构If :else:程序6:# quadratic.py# 计算二次方程的实数根程序import mathdef main(): print(This program finds the real solutions to a quadraticn) a,b,c = eval(input(Please enter the coefficients(a,b,c): ) delta = b*b - 4*a*c if delta = 0: discRoot = math.sqrt(delta) root1 = (

21、-b + discRoot) / (2*a) root2 = (-b - discRoot) / (2*a) print(nThe solutions are:, root1, root2)else: print(The equation has no real roots!)main()【运行结果】输出:This program finds the real solutions to a quadratic输入:Please enter the coefficients(a,b,c): 1,2,3The equation has no real roots!3.3 多分支(1)多分支决策 要

22、解决双根问题,就需要对delta等于0的情况进行处理。语句的结构上要引入嵌套结构: 当delta 0,处理双根情况一种方案是在程序中使用两个if-else语句。把一个复合语句放到另一个语句的结构之中称为嵌套。1. 多分支决策是解决复杂问题的重要手段之一2. 一个三分之决策可以由两个二分支结构嵌套实现3. 使用if-else描述多分支决策时,实现更多分支需要更多嵌套,影响程序易读性Python使用if-elif-else描述多分支决策,简化分支结构的嵌套问题。格式如下:If : elif : elif : else: 例:程序7:# quadratic.pyimport mathdef main

23、(): print(This program finds the real solutions to a quadraticn) a,b,c = eval(input(Please enter the coefficients(a,b,c): ) delta = b*b - 4*a*c if a = 0: x = -b/c print(nThere is an solution, x) elif delta 0: print(nThe equation has no real roots!) elif dalta = 0: x = -b/(2*a) print(nTheere is a double root at, x) else: discRoot = math.sqrt(delta) root1 = (-b + discRoot) / (2*a) root2 = (-b - discRoot) / (2*a) print(nThe solutions are:, root1, root2)main()3.4 异常处理异常处理语句Python使用tryexcept,可使程序不因运行错误而崩溃Python的异常处理语句还可以使用else和finally关键字(可选项,若使用则else必须在finally之前)格式如下:try: except : excep

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1