资源简介 第3章 算法的程序实现 浙教版 信息技术(高中) 必修1 数据与计算 3.2 python 语言程序设计 学习目标 1 2 3 熟悉并会使用算术运算符、关系运算符、逻辑运算符、字符串运算符。 4 函数与模块 If语句,顺序结构,循环结构等。 熟悉Python数据类型与表达式,变量和赋值语句 1 2 重点难点 重点: 难点:函数与模块。 If 语句,顺序结构,循环结构等。 课堂导入 Python是一种面向对象的程序设计语言,可以支持很多日常问题的 程序实现,特别适合应用程序的快速开发。 3.2.1 python 语言基础 1.编程环境 图3.2.1 IDLE的操作界面 解释器操作界面 编辑器操作界面 拓展链接: 集成开发环境(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中,变量名可以包括字母、数字和下划线,但不能以数字开头,而且字母区分大小写。所以,Plan9是合法变量名,而9Plan不是;变量名teacher 和TEACHER表示两个完全不同的变量。由于Python是动态类型语言,因此在使用前不需要预先声明变量的数据类型。例如: >> > degrees_cel=26. 0 >> > degrees_cel 26. 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、基本数据结构 (1)字符串和列表 >>>info=[”BH60018”,”苹果”,50] >> > info= ["BH60018", "苹果", 50] >> > info [2] 50 >> > S="Hello" >> > s [1] 'e‘ >> > info [0: 2] ['BH60018', '苹果] >> > s [1: 4] 'ell' 列表操作举例: (2)字典 图3.2.5 字典结构示例 >>>dic={”铅笔”:71,”钢笔”:59,”橡皮”:98,”尺子”:92} >>>print(dic[“铅笔”]) 71 上述程穿第一行语句创建了一个名为dic的字典,共有4个元素,第1个元素包含了键“铅笔"和值71, 第2个元素包含了键"钢笔"和值59······第二行输出字典dic中键”铅笔”对应的值。 问题与讨论: 1. 通过网络学习,了解各种程序设计语言的特点,通过比较得出python语言的优缺点。 2. 请列举日常生活中所接触到的数据(如通讯录、成绩表等), 并说明它们在使用Python语言描述时适用的数据类型或数据结构。 3.2.2顺序结构的程序实现 a=int (input ("请输入整数a的值:") ) b=int (input ("请输入整数b的值:") ) c=a a=b #语句1 #语句2 #语句3 b=c print ("a=",a) print ("b=",b) 图3.2.6 交换两个变量值的流程图 问题与讨论: 如果调换上述程序中语句1、语句2或语句3的位置,程序的运行结果将会如何变化? 表3.2.5 python 常见内建函数 3.2.3 分支结构的程序实现 1、if语句 一般格式: if<条件>: <语句块1> else: <语句块2> 拓展链接: 语句块缩进 在python中,行尾冒号的作用是告诉python接下来要创建一个新的语句块。因此,只要某一行以冒号结尾,它接下来的内容就应该有缩进。python中有一个惯例:总是将语句块缩进4个空格。 图3.2.7 区间测速示意图 (1)抽象与建模 判断结果= { “正常”(v≤100) “超速”(v>100) 其中v=sx3600/t (2)设计算法 图3.2.8 超速判断算法流程图 (3)编写程序 问题与讨论: 分析下面两段代码,找出两者的区别。 2.if-elif 语句 if<条件1>: <语句块1> elif<条件2>: <语句块2> ...... elif<条件N>: <语句块N> else: <语句块N+1> (1)抽象与建模 表3.2.7 超速标准及其判断条件对应表 (2) 设计算法 图3.2.9 超速程度判断算法流程图 (3)编写程序 3.2.4 循环结构的程序实现 1.for 语句 在python中,for语句的格式为: for<变量>in<序列>: <循环体> 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=0 n (2) 设计算法 图3.2.10 计算总消耗热量流程图 (3)编写程序 2.While语句 在许多情况下,当一个循环执行之前,可能并不知道它需要执行的次数。这时,就可以使用 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 import 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) 分别输入三个数,输出它们中的最大值。 3. 编程求1~100的所有偶数的和。试采用两种不同的方式实现。 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! https://www.21cnjy.com/help/help_extract.php 展开更多...... 收起↑ 资源预览