1、第3章 算法的程序实现浙教浙教版版 信息技术信息技术(高中)(高中)必修必修1 1 数据与计算数据与计算3 3.2 python.2 python 语言程序设计语言程序设计 学习目标123熟悉并会使用算术运算符、关系运算符、逻辑运算符、字符串运算符。4函数与模块If语句,顺序结构,循环结构等。熟悉Python数据类型与表达式,变量和赋值语句12重点难点重点:难点:函数与模块。If 语句,顺序结构,循环结构等。课堂导入 Python是一种面向对象的程序设计语言,可以支持很多日常问题的程序实现,特别适合应用程序的快速开发。3.2.1 python 语言基础1.编程环境图3.2.1 IDLE的操作界
2、面解释器操作界面编辑器操作界面拓展链接:集成开发环境(IDE)是提供程序开发环境的应用程序,一般包括代码编辑器、调试器和图形用户界面工具。目前,用于编写Python程序的IDE较多,如IDLE、Spyder、Wing、PyCharm等。如图3.2.2是Spyder的操作界面。图3.2.2 spyder的操作界面2、数据类型与表达式表3.2.1 python常见数据类型表3.2.2 python 算术运算符表3.2.3 python 关系运算符表3.2.4 python 逻辑运算符3、变量和赋值语句 在Python中,变量名可以包括字母、数字和下划线,但不能以数字开头,而且字母区分大小写。所以,
3、Plan9是合法变量名,而9Plan不是;变量名teacher 和TEACHER表示两个完全不同的变量。由于Python是动态类型语言,因此在使用前不需要预先声明变量的数据类型。例如:degrees_cel=26.0 degrees_cel26.0 degrees_cel=26.0 degrees_cel 26.0 上例中,语句“degrees_cel=26.0”创建了一个名为degrees_cel的变量,变量的类型是实型且值为实数26.0。而下面的语句degrees_cel=26.0”执行后,变量degrees_cel的类型变成了字符串型。因此,在Python中,变量的值和类型都可以改变。4
4、、基本数据结构(1)字符串和列表info=”BH60018”,”苹果”,50 info=BH60018,苹果,50 info 250 S=Hello s 1e info 0:2BH60018,苹果 s 1:4ell列表操作举例:(2)字典 图3.2.5 字典结构示例dic=”铅笔”:71,”钢笔”:59,”橡皮”:98,”尺子”:92print(dic“铅笔”)71 上述程穿第一行语句创建了一个名为dic的字典,共有4个元素,第1个元素包含了键“铅笔和值71,第2个元素包含了键钢笔和值59第二行输出字典dic中键”铅笔”对应的值。问题与讨论:1.通过网络学习,了解各种程序设计语言的特点,通过比
5、较得出python语言的优缺点。2.请列举日常生活中所接触到的数据(如通讯录、成绩表等),并说明它们在使用Python语言描述时适用的数据类型或数据结构。3.2.2顺序结构的程序实现a=int(input(请输入整数a的值:))b=int(input(请输入整数b的值:))c=aa=b 语句1语句2语句3b=c print(a=,a)print(b=,b)图3.2.6 交换两个变量值的流程图问题与讨论:如果调换上述程序中语句1、语句2或语句3的位置,程序的运行结果将会如何变化?表3.2.5 python 常见内建函数3.2.3 分支结构的程序实现1、if语句一般格式:if:else:拓展链接:
6、语句块缩进 在python中,行尾冒号的作用是告诉python接下来要创建一个新的语句块。因此,只要某一行以冒号结尾,它接下来的内容就应该有缩进。python中有一个惯例:总是将语句块缩进4个空格。图3.2.7 区间测速示意图(1)抽象与建模 判断结果=“正常”(v100)“超速”(v100)其中v=sx3600/t(2)设计算法图3.2.8 超速判断算法流程图(3)编写程序问题与讨论:分析下面两段代码,找出两者的区别。2.if-elif 语句if:elif:.elif:else:(1)抽象与建模表3.2.7 超速标准及其判断条件对应表(2)设计算法图3.2.9 超速程度判断算法流程图(3)编
7、写程序3.2.4 循环结构的程序实现1.for 语句在python中,for语句的格式为:forin:hobby=篮球,”羽毛球,”看书,旅游”,音乐for x in hobby:print(x)for num in range(0,10,1):print(num,end=)该语句执行后,输出的结果是:0123456789 热量消耗(1)抽象与建模表3.2.8 某学生一天中主要运动消耗热量表要计算总热量,可将各项运动消耗的热量进行累加。计算模型如下:s=ai,(其中s为总热量,a,为各项运动消耗的热量,n=5)i=0n(2)设计算法图3.2.10 计算总消耗热量流程图(3)编写程序2.Whil
8、e语句 在许多情况下,当一个循环执行之前,可能并不知道它需要执行的次数。这时,就可以使用 while循环。其常见格式如下:while 条件:问题与讨论:在“猜数游戏”中,若不引入布尔型变量(本例中的running),程序该如何实现?3.2.5 函数与模块1.函数构造及应用Def 函数名(参数集合):return 函数值2.模块的导入及应用(1)math模块(2)random模块import random cla=(2)班,(3)班,(5)班”,”(8)班”,(9)班random.shuffle(cla)for x in cla:print(x)(3)image 模块from PIL impor
9、t Image im=Image.open(school.jpg)print(im.format)print(im.size)print(im.mode)im.rotate(45).show0 打开school.jpg图像文件获取图像文件格式获取图像尺寸大小获取图像的颜色模式将图像旋转45后显示思考与练习:1.写出下列Python表达式或程序语句的值。(1)123%100(2)len(Hello Leo!)(3)abs(-12)(4)data=172,9,165,29,156,21 max(data)2.编程求几个数中的最大值。(1)分别输入两个数,输出它们中的最大值。(2)分别输入三个数,输
10、出它们中的最大值。3.编程求1100的所有偶数的和。试采用两种不同的方式实现。4.检测字符串是否全是数字。编程实现:对输入的一串字符串进行检测,输出“该字符串包含非数字字符”或“该字符串全是数字字符”的信息。5.运行以下程序,观察所呈现的图形,思考每行语句的功能。import turtle t=turtle.Pen()turtle.bgcolor(white)colors=red,green.blue,yellow for x in range(100):t.pencolor(colors x%4)t.circle(x)t.left(91)6.修改“猜数游戏”实例中的程序,增加用户猜测次数(如允许用户最多猜5次)的限制功能。7.修改“猜数游戏”实例中的程序,使给定数由程序随机生成。谢 谢!Thanks!