浙教版 (2019)必修1 数据与计算3.2 Python语言程序设计示范课ppt课件
展开
这是一份浙教版 (2019)必修1 数据与计算3.2 Python语言程序设计示范课ppt课件,共55页。PPT课件主要包含了列表简介,元组简介等内容,欢迎下载使用。
【例】编写程序,要求用户从键盘输入圆的半径,计算并输出圆面积。本问题的算法用自然语言描述如下读入半径利用公式计算面积:面积=π×半径2显示面积两个重要的问题读入半径,将半径存储在程序中计算结果面积也需要存储在程序中
变量用于存储程序中的数据。应选择“见名知义”的名字作为变量名,如半径用radius、面积用area使用input函数从键盘上输入数据。input函数有一个可选参数,即要向用户显示的提示或说明 input() input("提示信息")注意,input函数将用户输入解读为字符串。为了得到半径,需要使用eval函数将字符串转换为数值eval("34.5")返回数值34.5eval("345")返回数值345eval("3+4")返回数值7
从键盘上获取半径radius = eval(input("请输入圆的半径: "))计算面积area = 3.14159 * radius * radius=是赋值运算符。赋值运算符的作用是计算其右边表达式的值并将值保存到左边的变量中可以用浮点数(实数)3.14159近似表示π 。如果程序中多次用到π,反复输入3.14159很烦,也很容易出错。可以给π命名PI = 3.14159PI称为命名常量。Pythn其实是用一个变量来表示常量习惯上,常量名用大写。π常量命名后,用到3.14159的地方都可以用PI来替换 area = PI * radius * radius
现实世界中每个实体都有一个名字,程序中使用的元素(如变量、常量)也得命名。利用标识符来命名程序中使用的元素标识符命名规则标识符是由字母、数字和下划线(_)组成的序列;标识符必须以字母或下划线开头,不能以数字开头;标识符不能是关键字,如return;标识符不能是标准函数已经使用的名字,如print;标识符无长度限制,但过短或过长的标识符都是不合适的;标识符区分大小写,如area和Area是不同的标识符。采用“见名知义”的标识符,可以增强程序的可读性,有助于理解程序。合法和非法标识符:myAge myHeight _100_bttles s2i radius Radius100_bttles my mney my-sn if print
关键字(也称保留字)在Pythn中具有特定的含义和作用。在程序中,不能使用这些关键字作为标识符
变量用于存储数据变量的值在程序执行过程中是可以改变的变量在使用前必须被赋值赋值语句:变量 = 表达式# 计算第一个圆面积radius = 1.0# 变量radius的值为1area = 3.14159 * radius * radiusprint(area)# 计算第二个圆面积radius = 2.0# 变量radius的值为2area = 3.14159 * radius * radiusprint(area)
一个变量可以在赋值运算符两边同时使用x = x + 1 x + 1的结果赋值给x。若执行前x的值是1,执行后x的值为2变量必须在赋值运算符的左边 1 = x# 错误级联赋值:把一个值赋给多个变量i = j = k = 1同时赋值:变量1, 变量2, ..., 变量n = 表达式1, 表达式2, ..., 表达式n。计算赋值运算符右边的表达式值并同时赋值给赋值运算符左边相对应的变量i, j, k = 1, 2, 3交换两个变量的值:x, y = y, x
【例】编写程序,要求用户从键盘输入三个整数,计算并输出它们的平均值。
常量的值在程序执行过程中不会改变常量分为字面常量和命名常量字面常量也称为字面值。例如,88表示整数字面常量,1.76表示浮点数(实数)字面常量可以对使用比较频繁的字面常量加以命名PI = 3.14159 Pythn没有命名常量的特殊语法,简单地用一个变量来表示常量。为了区分变量和常量,建议常量全部使用大写字母来命名
Pythn有两种数值类型:整数和浮点数(实数)整数:34,浮点数:34.0浮点数123.456可以使用科学计数法表示为1.23456e2或1.23456e+2(E或e代表指数且可以大写也可以小写)。对于很大或很小的浮点数,通常用科学计数法来表示支持算术运算符:+(加)、-(减)、*(乘)、/(除)、//(整除)、%(模或求余数)、**(幂)运算可以使用type函数来查询数据类型
Pythn可以处理任意大小的整数,浮点数表示范围受限
浮点数除法,结果为浮点数
整数除法,结果为整数,小数部分被舍掉了
幂运算
求余数
算术运算符+、-、*、/、//、%、**可以与赋值运算符=组合在一起构成复合赋值运算符x = x + 1可以写为x += 1注意:i *= j + k等价于i = i * (j + k),而不是i = i * j + k
如果算术运算符的操作数之一是浮点数,自动将整数转换为浮点数,那么结果就是浮点数。例如,3 * 4.5和3.0 * 4.5是相同的可以使用int函数来返回一个浮点数的整数部分(没有四舍五入)可以使用rund函数来返回一个浮点数的整数部分(进行四舍五入)
int函数也可以将字符串转换为整数flat函数将字符串转换为浮点数,也可以将整数转换为浮点数
int函数和flat函数比eval函数执行速度要快优先级和结合性首先执行圆括号内的运算幂运算乘法、浮点数除法、整数除法和模(求余)运算,同一优先级从左向右运算加法、减法运算,同一优先级从左向右运算赋值运算,同一优先级从右向左运算如何计算算术表达式:3 + 4 * 4 + 5 * (4 + 3) – 1,结果是53
【例】编写一个显示当前时间的程序,格式为:小时:分:秒,例如:15:19:18。time模块中的time函数返回以毫秒为精度的从1970年1月1日00:00:00开始到现在的格林威治时间(秒数)。要使用time模块,必须先导入time模块:imprt time
字符串是以单引号'或双引号"括起来的任意文本,比如'abc',"xyz"等等。请注意,''或""本身只是一种表示方式,不是字符串的一部分,因此,字符串'abc'只有a,b,c这3个字符为了和其他程序设计语言一致,建议用单引号来括住单个字符的字符串或空字符串,使用双引号来括住多个字符构成的字符串如果'本身也是一个字符,那就可以用""括起来,比如"I'm OK"包含的字符是I,',m,空格,O,K这6个字符。如果字符串内部既包含'又包含"怎么办?可以用转义字符\来标识'I\'m \"OK\"!'表示的字符串内容是:I'm "OK"!转义字符\可以转义很多字符,比如\n表示换行,\t表示制表符,字符\本身也要转义,所以\\表示的字符就是\,\'表示单引号,\"表示双引号
rd函数和chr函数rd(ch)函数返回字符ch的ASCII码chr(cde)函数返回ASCII码cde所代表的字符任何小写字母的ASCII码与它对应的大写字母的ASCII码的差值都一样,为32。利用这一特性,可以进行字母的大小写转换
str函数将数字转换为字符串可以用+运算符对两个数字做加法,也可以使用+运算符来连接两个字符串。+=运算符也能用来连接字符串
读取字符串input函数返回从键盘上输入的字符串不换行打印print函数会自动换行,若不想在使用print函数后换行,可以给print函数传递一个特殊的end = “任何结束字符串”的参数可以给print函数传递一个特殊的sep = “任何分隔字符串”的参数,默认以空格作为分隔符
格式化浮点数格式符f用来格式化浮点数10.2f将浮点数格式化宽度为10(含小数点及小数点后两位小数)的字符串。浮点数被四舍五入到两个小数位,小数点前分配了7个数字;若小数点前的数字小于7个,则在数字前插入空格;若小数点前的数字个数大于7,则数字宽度会自动增加.2f省略宽度,这样,宽度会根据格式化这个数所需的宽度自动设置
调整对齐格式默认情况下数字是右对齐的,使用格式符指定右对齐20s指定字符串格式化为宽度在20以内的字符串。若字符串比指定的宽度长,宽度自动扩展到字符串的宽度
Pythn中,所有数据(包括数字和字符串)都是对象对象三要素:身份标识id、数据类型type和值value同一类型的对象具有相同的类型,可以使用id函数和type函数来获取对象信息一个对象的类型由类(class)决定。整数类是int,浮点数类是flat,字符串类是str。在Pythn中,类和类型是一样的意思每当执行程序时,Pythn会自动为每个对象的id赋予一个独特的整数。在程序执行过程中,对象的id不会改变
Pythn中的变量实际上是一个对象的引用严格来说,n是一个引用了int对象的变量,而这个int对象的值为3n = 3,Pythn干了两件事情:在内存中创建了一个整数3的对象在内存中创建了一个名为n的变量,并把它指向该整数3的对象
数字和字符串被称为不可变对象。不可变对象的内容是不能被改变的当将一个新数字赋值给变量时,Pythn就会为这个新数字创建新对象,让后将这个新对象的引用赋值给这个变量把x赋值给y,x和y都指向同一个对象(整数4),它们的id相同若将1加到y,就会创建一个新对象,它被赋值给y,y指向一个新对象(id改变了)
Pythn中,对象所调用的函数被称为方法方法只能从一个特定的对象里调用:对象.方法字符串中有将字母转换为小写的lwer方法和将字母转换为大写的upper方法
空值是Pythn里一个特殊的值,用Nne表示。Nne不能理解为0,因为0是有意义的,而Nne是一个特殊的空值。Nne有自己的数据类型NneType。可以将Nne赋值给任何变量。
Pythn提供了一种被称为列表的数据类型,它可以存储任意大小的数据集合列表是序列类型。一个列表是任何元素的序列。一个列表既可以包含同类型的元素也可以包含不同类型的元素列表中的元素用逗号分隔并且由一对中括号[]括住list1 = []list2 = [2, 3, 4]list3 = ["red", "green", "blue"]list4 = [2, "three", 4.0]
通过下标访问列表元素 list1 = [5.6, 4.5, 3.3, 13.2, 4.0, 34.33, 34.0, 45.45, 99.993, 11123]列表中元素通过:列表名[下标]来访问。列表下标从0开始。例如,list1[0]是列表list1的第一个元素,而list1[9]是列表list1的最后一个元素越界访问列表是常见的程序设计错误,会导致“IndexErrr”异常
列表使用Pythn内置函数len函数返回列表的元素个数max函数和min函数分别返回列表(元素必须是相同类型)中的最大值元素和最小值元素sum函数返回列表(元素为数字)中所有元素的和
字符串中有split方法,将字符串(默认以空格分隔)分解成其子串组成的列表
【例】编写程序,要求用户在一行上输入三个整数,其间以空格间隔。计算并输出它们的平均值。
与列表类似,元组也是序列类型。一个元组是任何元素的序列。一个元组既可以包含同类型的元素也可以包含不同类型的元素元组中的元素用逗号分隔并且由一对圆括号()括住tuple1 = ()tuple2 = (2, 3, 4)tuple3 = ("red", "green", "blue“)tuple4 = (2, "three", 4.0)但创建只有一个元素的元组时,要在元素后面加上一个逗号,否则创建的是整数对象,不是元组元组和列表的主要区别:一个元组被创建后,就无法直接修改元组中的元素值
通过下标访问元组元素 tuple1 = (5.6, 4.5, 3.3, 13.2, 4.0, 34.33, 34.0, 45.45, 99.993, 11123)元组中元素通过:元组名[下标]来访问。列表下标从0开始。例如,tuple1[0]是元组tuple1的第一个元素,而tuple1[9]是元组tuple1的最后一个元素越界访问元组是常见的程序设计错误,会导致“IndexErrr”异常
元组使用Pythn内置函数len函数返回元组的元素个数max函数和min函数分别返回元组(元素必须是相同类型)中的最大值元素和最小值元素sum函数返回元组(元素为数字)中所有元素的和
Pythn提供了一种被称为字典的数据类型字典是一系列键/值对的集合,每个键都与一个值相关联,可以使用键来访问与之相关联的值字典中的一系列键/值对用逗号分隔并且由一对花括号{}括住dict1 = {}dict2 = {"ne":1, "tw":2, "three":3}字典名.get(key),来访问key对应的值,若key不在字典中,则返回Nne字典名[key] = value,来修改key对应的值,若key不在字典中,则将key/value添加到字典中
前面使用过的print、input、eval等都是Pythn提供的内置函数,可以直接使用Pythn还提供了如下内置函数abs(x),返回x的绝对值,abs(-2)返回2pw(a, b),返回ab的值,相当于a ** b,pw(2, 3)返回8rund(x, n),返回保留小数点后n位的浮点数,rund(5.466, 2)返回5.47max(x1, x2, ...),返回x1、x2、...中的最大值,max(1, 5, 2)返回5min(x1, x2, ...),返回x1、x2、...中的最小值,min(1, 5, 2)返回1divmd(a, b),返回一个元组,元组的第一个元素是a除以b的商、第二个元素是a除以b的余数help(tpics),显示tpics的帮助信息
Pythn还提供一个math模块,包含了一些常用的数学函数和数学常量要使用math模块,必须先导入math模块:imprt math数学常量math.pimath.e常用数学函数fabs(x),返回x的绝对值(浮点数),math.fabs(-2)返回2.0ceil(x),x向上取最近的整数并返回,math.ceil(2.1)返回3flr(x),x向下取最近的整数并返回,math.flr(2.1)返回2exp(x),返回幂函数ex的值,math.exp(1)返回2.718281828459045lg(x),返回x的自然对数值,math.lg(2.718281828459045)返回1.0lg(x, base),返回x的以base为底的对数值,math.lg(100, 10)返回2.0
常用数学函数(续)sqrt(x),返回x的平方根值,math.sqrt(4)返回2.0degrees(x),将x从弧度转换为角度,math.degrees(1.5707963267948966)返回90radians(x),将x从角度转换为弧度,math.radians(90)返回1.5707963267948966sin(x),返回x的正弦值,x为弧度,math.sin(math.pi / 2)返回1.0cs(x),返回x的余弦值, x为弧度, math.cs(math.pi )返回-1.0tan(x,),返回x的正切值, x为弧度, math.tan(0.0)返回0.0asin(x),返回x的反正弦值, math.asin(1.0)返回1.5707963267948966acs(x),返回x的反余弦值,math.acs(-1.0)返回3.141592653589793atan(x),返回x的反正切值,math.atan(0.0)返回0.0
【例】编写程序,输入两个点坐标(x1, y1)和(x2, y2),输出它们之间距离distance。利用下面的公式计算两点之间距离:
计算两点之间距离的程序
语句是程序运行时执行的命令。符合语法和语义要求的语句能够完成一项基本任务控制结构,其作用就是控制语句的执行。有三种基本控制结构:顺序结构、分支结构和循环结构。顺序结构是程序默认的执行流程,分支结构和循环结构则使用相应的控制语句进行控制
三种基本控制结构:顺序结构、分支结构和循环结构顺序结构、分支结构和循环结构有一个共同点:它们都只有一个入口和一个出口
单入口单出口的控制结构
结构化程序设计思想最初是由荷兰计算机科学家Edsger Wybe Dijkstra在1965年提出的。“如果一个程序的代码块仅仅通过顺序、分支和循环这三种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。”1966 年意大利计算机科学家Crrad Böhm和Giuseppe Jacpini证明了只用顺序、分支和循环这三种基本控制结构就能实现任何单入口单出口的程序1972年IBM公司的Harlan Mills进一步提出,程序应该只有一个入口和一个出口。这些工作为结构化程序设计方法奠定了基础
程序中的错误都是程序员所犯的错误,即使是有经验的程序员,也不能避免错误错误分为三种:语法错误、运行时错误和逻辑错误。语法错误指程序书写格式在某些方面不符合Pythn要求,如拼错关键字、遗漏必要的标点符号、括号不匹配或者不合理的缩进等。解释器在解释程序的过程中能够查出这类错误 print("Welcme t Pythn!) # 缺少右双引号
运行时错误也称为异常,指程序书写格式正确,解释过程能正常完成,但在执行过程中出了问题,导致程序终止执行输入错误是典型的运行时错误另一个常见的运行时错误是算术运算中把0作为除数x, y = eval(input("请输入以逗号分隔的两个整数: "))print(str(x) + "/" + str(y) + " =", x / y) # 当y值为0时,引发错误
逻辑错误。指程序书写格式正确,解释过程能正常完成,但程序的执行结果不符合预期的要求。这类错误是最难修改的fahrenheit = eval(input("输入华氏温度: "))celsius = 5 / 9 * fahrenheit - 32 # 表达式错误,应为5 / 9 * (fahrenheit - 32)print("对应的摄氏温度: " + frmat(celsius, ".1f"))
1945年9月9日,美国女数学家Grace Hpper在编写程序时,计算机出现了故障。经仔细检查,发现故障的祸根是计算机里有一个烧焦的小虫(Bug)造成了电路短路。从此,排除计算机故障的工作就被称为Debugging,就是“找虫子”。后来人们也这样看待和称呼排除程序错误的工作。测试(testing)的目的是为了发现尽可能多的错误,通过调试(debugging)确定错误性质,并加以改正,以提高软件的质量。测试程序、排除程序错误的最重要工具就是我们的眼睛和头脑
人们从程序设计实践中取得了共识,程序必须具有良好的程序设计风格,这样程序的正确性、有效性、可读性和易维护性将会得到保证程序设计风格(prgramming style)就是如何安排程序的外观样式Pythn编码规范PEP 8 ——Style Guide fr Pythn
基本原则用注释告诉程序阅读者所需要知道的内容注释应当准确、易懂,防止出现二义性要向程序阅读者解释那些复杂或很难理解的内容,对一些浅显易懂的内容,则不必解释边写程序边加注释。当修改程序时,也要及时更新注释注释应该与被解释内容相邻。一般放在被解释内容的上方或右方
基本原则命名习惯最重要的是保持一致标识符最好采用英文单词或其组合,尽量做到“见名知义”标识符的长度应该符合“最小长度最大信息”的原则不要使用仅靠大小写来区分的相似标识符常量名采用全部大写的单词,如果由多个单词构成,单词之间用下划线连接。但首尾不要使用下划线。如常量PI和常量MAX_VALUE变量名采用全部小写的单词,如果由多个单词构成,单词之间用下划线连接。但首尾不要使用下划线。如变量radius和变量my_age
相关课件
这是一份高中浙教版 (2019)3.2 Python语言程序设计教案配套课件ppt,共31页。PPT课件主要包含了列表基础,多维列表,二维列表,复制列表,列表和函数等内容,欢迎下载使用。
这是一份信息技术必修1 数据与计算3.2 Python语言程序设计习题ppt课件,共29页。PPT课件主要包含了课堂练习,解析3215,Ture,False,‘34’,‘2’,成绩等级B,输出sum的值,限制次数猜数等内容,欢迎下载使用。
这是一份信息技术必修1 数据与计算3.2 Python语言程序设计课堂教学课件ppt,共29页。PPT课件主要包含了局部变量,全局变量等内容,欢迎下载使用。