1、 2.3 程序设计基本知识 教学目标掌握Python语言的基本知识,体验通过编程解决问题的基本过程,感受计算机编程的魅力。运用顺序、选择和循环三种结构编写程序,提高利用计算机解决问题的能力。体验探究编程绘制交通信号灯 我们可以编写Python程序绘制各种图形。例如,绘制一个圆形红色信号灯的程序代码如P55所示:思考思考:1.如果要绘制如图2.3.1所示的“红绿”信号灯,应该如何编写程序代码?分析其中两盏信号灯的位置坐标有何关系,描述出对应的算法。2.如果要绘制如图2.3.2所示的“红黄绿”信号灯,又应该如何修改程序代码?分析其中哪些语句是可以重复使用的。2.3.1数据类型ABDEC整型浮点型字
2、符串型布尔型列表 数据类型数据类型 Python语言常见的数据类型有以下几种:2.3.1数据类型2.3.1数据类型u 实践实践活动:活动:确定数据类型确定数据类型根据P56表2.3.2中描述的现实事物或现象,列举出具体地数据,说明其对应的数据类型,并完成表格填写。思考思考:在“编写控灯利出行”项目中,编程完成“自助式人行过街红绿灯”的任务还需要使用哪些数据?分析其对应的数据类型。2.3.1数据类型 强制强制转换数据类型转换数据类型在程序设计中,可以通过强制类型转换操作,把某个数据从一种数据类型转换成为另一种数据类型。2.3.2常量、变量及表达式 常量常量与变量与变量 常量:常量指程序运行过程中
3、,其值不能改变的值不能改变的量量,例如1024、red等。变量:变量指程序运行过程中,其值可以改变的量值可以改变的量。变量是内存中存放数据的存储单元,用变量名变量名来表示。2.3.2常量、变量及表达式 Python语言中,变量命名需要遵循以下规则:变量名可以包括字母、汉字、数字和下划线可以包括字母、汉字、数字和下划线(_),但不能以数字开头不能以数字开头。例如:name2是合法变量名,而2name是非法变量名。变量名区分大小写区分大小写。例如:myName、MYName、myname和 Myname是不同的变量。为了便于理解,变量名应具有一定具有一定含义含义,即“见名知意”。不能用系统关键字作
4、为变量名不能用系统关键字作为变量名。系统关键字是程序设计语言中保留下来的用于特殊用途的标识符,每个关键字都有特殊的含义。例如:for、in、if、continue、break、else、and、not和or等。2.3.2常量、变量及表达式 赋值赋值Python语言中的变量是在首次赋值时创建的。赋值语句是最基本的程序语句,其格式为:变量名=表达式注意:Python语言中的变量必须在使用前被赋值,不能使用未被赋值的变量。在使用过程中,变量还能够被重新赋值。2.3.2常量、变量及表达式u 实践实践活动:活动:访问访问 Python Python语言列表中元素的值语言列表中元素的值Python语言中的
5、变量可以被赋值为列表类型的值,如 colors=red,yellow,green。若要访问列表中某个元素的值,可用变量名加索引值的方式。思考思考:编写程序分别访问列表变量 colors中的3个元素。提示:提示:colorsn中的n表示列表的索引值(n=0,1,2),其中,colors0的值为“red”,colors1的值为“yellow”,colors2的值为green。2.3.2常量、变量及表达式 运算符运算符与表达式与表达式运算符标明了对操作数操作数(参与运算符计算的数据)所进行的运算,它与操作数连接而成的有意义的式子被称为表达式。表达式在进行运算处理后得到的结果称为表达式的值。例如,2+
6、3就是一个表达式,其中的操作数是2和3,而运算符是“+”,表达式的值是5。表达式的值可以赋给变量,也可以作为程序语句中的判断条件。2.3.2常量、变量及表达式 运算符运算符与表达式与表达式不同类型的数据可以进行不同的运算,如整型数据有取模运算(%),而字符串没有。不同类型的数据使用同一种运算符运算时,常会产生不同的结果。例如,“+”除了可以进行数值加法运算,还可以对字符串、列表等数据进行连接运算,如“China”+“521”的运算结果是“China521”,11,张明+90.5的运算结果是,张明,90.5。2.3.2常量、变量及表达式 运算符运算符与表达式与表达式 常用的运算符有以下几种:A算
7、术运算符B关系运算符C逻辑运算符2.3.2常量、变量及表达式 运算符运算符与表达式与表达式 算术运算符:主要进行算术运算,运算的结果为整型整型或浮点型浮点型。2.3.2常量、变量及表达式 运算符运算符与表达式与表达式 关系运算符:主要用于比较两个值的大小,运算的结果为布尔值布尔值True或或 False。2.3.2常量、变量及表达式 运算符运算符与表达式与表达式 逻辑运算符:可以对关系式或布尔值进行逻辑运算,运算结果仍为布尔值布尔值True或或 False。2.3.2常量、变量及表达式 运算符运算符与表达式与表达式如果两个或多个运算符出现在同一个表达式中,则要按照优先级确定运算顺序:优先级高的
8、运算符先运算,优先级相同的从左向右依次运算。当表达式中出现“()”时,它的运算级别最高,应先运算“()”内的表达式。运算符的优先级为:算术运算符 关系运算符 逻辑运算符。在同类运算符中也要注意不同的优先级。例如,逻辑运算符not、and和or的优先级为:notandor。2.3.2常量、变量及表达式u 实践实践活动:活动:写出写出 Python Python语言表达式语言表达式 根据问题需求,写出对应的表达式,完成表2.3.6。2.3.3语句与程序结构一般来说,程序程序是由语句组成是由语句组成的的,执行执行程序就是按特定的次序执行程序程序就是按特定的次序执行程序中的语句中的语句。程序语句包括赋
9、值语句赋值语句、控制语句控制语句和输入输出语句输入输出语句等。其中,控制语句通过对程序流程的控制,决定了程序执行的路径,也决定了程序的结构程序设计的三种基本结构,包括:1顺序结构2选择结构3循环结构2.3.3语句与程序结构 顺序结构:指程序的执行按语句的排列顺序从上到下依次执行,直至结束。程序通常包括输入数据、处理数据和输出结果三部分。Python语言主要用函数 input()实现数据输入,用函数 print()实现数据输出。输入输入函数函数 input input()():主要用来接收键盘的输,返回值为字符串型数据。通常,在输入时可以给出提示信息,例如:x=input(“请输入一个正整数:”
10、)。输出输出函数函数 print()print():函数 print()主要用于在屏幕上输出一个或多个输出项的值,多个输出项中间用逗号隔开,例如:print(“x是奇数”)。2.3.3语句与程序结构u 实践实践活动:活动:编程计算体重指数编程计算体重指数根据键盘输入的身高和体重值,编写程序计算体重指数,以 bmi.py为名保存文件。思考:思考:1.分析问题,找出已知条件和求解的目标,并确定二者之间的关系。2.用流程图描述该问题求解的算法,并编程实现。想一想能否调整这些语句的书写顺序,为什么?2.3.3语句与程序结构 选择结构:在选择结构中,某些语句会受到条件的制约,根据条件成立与否有选择地执行
11、。选择结构利用条件语句,通过判断表达式的值(True或False),决定程序执行的分支。单分支结构和双分支结构是常见的两种选择结构,在Python语言中是由if语句实现的(注意其中的冒号不能省略)。2.3.3语句与程序结构 选择结构例如,判断一个正整数的奇偶性。其判断方法通常是:如果一个正整数x能被2整除,那么这个数为偶数,否则为奇数。程序代码如下:Python语言用缩进的方式标识语句块,表示语句之间的层次关系。同一级语句块中的语句具有相同的缩进量。2.3.3语句与程序结构 选择结构:选择结构除了单分支和双分支结构,还有多分支结构多分支结构。例如,某城市轨道交通实行分段计程票价:起步票价为乘坐
12、5站以内(含5站),单人票价2元;乘坐5站以上10站以下(含10站),单人票价3元;乘坐10站以上16站以下(含16站),单人票价4元;乘坐16站以上单人票价5元。2.3.3语句与程序结构 选择结构:Python语言中,可以在if语句中配合使用elif语句来实现多分支结构,多分支结构的一般格式及“分段计程票价”程序示例如表2.3.8所示。2.3.3语句与程序结构 循环结构:在循环结构中,一些语句在某一条件成立时,被重复执行,直到条件不成立时,才结束重复执行。这个条件称为循环控制条件,被重复执行的语句块称为循环体。2.3.3语句与程序结构 循环结构:Python语言提供了两种基本的循环结构语句,
13、while语句和for语句。A.while语句:while语句的基本格式为:while表达式:语句块 while语句中的表达式是循环控制条件,其值一般为布尔值(True或False)。当表达式的值为True时,执行循环体内的语句;否则就退出循环,执行下一条语句。需要注意的是,while表达式后面的冒号不能省略。2.3.3语句与程序结构A.while语句:例如,“倒计时15s”功能实现的程序示例如下:循环结构:Python语言提供了两种基本的循环结构语句,while语句和for语句。2.3.3语句与程序结构B.for语句:for语句的基本格式为:for 循环变量 in 序列:语句块 for语句每
14、次从序列中取出一个元素赋值给循环变量(循环变量初值即为序列中的第个元素值),当依次访问完序列中所有元素后,循环结束。需要注意的是,forin后面的冒号不能省略。循环结构:Python语言提供了两种基本的循环结构语句,while语句和for语句。循环结构:Python语言提供了两种基本的循环结构语句,while语句和for语句。2.3.3语句与程序结构B.for语句:在“倒计时15s”的问题中,使用for语句编写的程序示例如下:在for语句中,循环次数由序列中元素的个数决定,常用于确定循环次数的问题解决。对于不能确定次数的问题求解,需要使用 while语句。实际上,while语句既可以实现不确定
15、次数的循环,也可以实现确定次数的循环。2.3.3语句与程序结构C.循环嵌套:一个循环结构内可以包含另一个循环,这样的结构称为循环嵌套,也称多重循环。常用的循环嵌套是二重循环,外层循环称为外循环外循环,内层循环称为内循环内循环。内循环是外循环的循环体内循环是外循环的循环体。循环嵌套的执行过程是要首先执行外层循环首先执行外层循环,外循环每执行一次,内循环则需执行一个完整的循环。循环结构:Python语言提供了两种基本的循环结构语句,while语句和for语句。2.3.3语句与程序结构C.循环嵌套:输出显示“九九乘法表九九乘法表”,程序示例如下的程序示例如下:循环结构:Python语言提供了两种基本
16、的循环结构语句,while语句和for语句。2.3.3语句与程序结构D.break语句和continue语句:在循环体中,可以使用break语句和continue语句控制程序的流程。breakbreak语句语句用于终止某个循环终止某个循环,使程序跳到循环体以外循环体以外的第一个可执行语句;continuecontinue语句语句用于终止本次循环进入下一次循环终止本次循环进入下一次循环,即跳过循环体内还未执行的语句,进入下一次循环的判定。循环结构:Python语言提供了两种基本的循环结构语句,while语句和for语句。2.3.3语句与程序结构D.break语句和 continue语句:循环结构
17、:Python语言提供了两种基本的循环结构语句,while语句和for语句。2.3.3语句与程序结构u 实践实践活动:活动:编写完整的体重指数编写完整的体重指数“计算器计算器”完善程序(bmi.py)功能,编写一个完整的体重指数计算小程序,实现对多名学生进行体重指数的等级判断。思考:思考:1.要实现多次判定高一学生体重指数等级的程序功能,应如何设置循环条件?该循环的次数是否固定?如何结束该循环?2.画出该问题求解的流程图,并编程实现。练习提升1.分别指出下面程序中循环体执行的次数写出运行结果,分析程序功能。2.设计算法编写程序实现如下功能:已知一元二次方程ax2+bx+c=0,从键盘输入a、b
18、和c的值,获取该一元二次方程解的情况。练习提升3.设计算法编写程序,求任意两个正整数的最大公约数,直至用户输入“q”或“Q”才退出程序。4.编写程序和计算机来一场有趣的猜数游戏。要求:由计算机随机生成一个100以内的正整数,用户有5次猜数机会,如果猜中提示“猜中了!”并退出程序;否则,提示“数偏大”或“数偏小”,然后继续猜数。如果5次均未猜中,屏幕显示计算机随机生成的整数,并换行给出提示“5次没有猜中,很遗憾,游戏结束”,退出程序。提示:内置模块 random可以生成一个指定范围内的随机数。参考语句为:m=random.randint(1,100)#生成一个指定范围为1,100的随机整数谢谢!