《Python程序设计》课件第3章 Python语句流程结构_第1页
《Python程序设计》课件第3章 Python语句流程结构_第2页
《Python程序设计》课件第3章 Python语句流程结构_第3页
《Python程序设计》课件第3章 Python语句流程结构_第4页
《Python程序设计》课件第3章 Python语句流程结构_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Python程序设计第3章Python语句流程结构【教学目标】

学习内容顺序结构程序设计选择结构程序设计循环结构程序设计技能目标会使用输入input()函数、输出print()函数能对if的单分支、双分支、多分支及嵌套语句熟练使用能对while循环语句、for语句、break语句和coutinue语句熟练使用会使用range()函数任务一喝酒不开车,开车不喝酒

喝酒不开车,开车不喝酒,这不仅仅是一句宣传语,而是一种责任。车辆驾驶人员血液中的酒精含量大于或等于20mg/100mL并且小于8mg/100mL时属于酒后驾车,血液中的酒精含量大于或等于80mg/100mL为醉酒驾车。可使用呼吸式酒精检测仪现场检验,由检测仪打印出结果:酒后驾车,暂扣6个月驾驶证,并处1000以上2000元以下罚款,一次扣12分。醉酒驾车,罚款5000元,一次扣12分,处15日以下拘留,并且5年内不得重新获得驾照。本次的任务是使用Python程序实现检测仪的判断与输出功能(直接由键盘输入血液中的酒精含量)。【提示】

该任务中涉及一个变量即血液中的酒精含量(mg/100ml),设为数字类型y,先从键盘输入数据赋值给y,再判断如果y<20,则输出为“不是酒驾,请放行!”;如果判断y大于或等于20且小于80,则输出显示为“酒后驾车:罚款1000~2000元,暂扣6个月驾驶证,一次扣12分!”;如果判断y≥80,则输出显示为“醉酒驾车:罚款5000元,一次扣12分,处15日以下拘留,并且5年内不得重新获得驾照!”。3.1顺序结构程序设计3.1.1输出函数print()

顺序结构是最简单的程序结构,是构成复杂程序的基础,顺序结构程序由简单语句组成,语句按书写顺序执行,且每条语句都被执行

Python的基本输出语句使用的是print()函数,其基本语法如下。

print([obj1,obj2,...][,sep=""][,end="\n"][,file=sys.stdout])基本输出中的数据对象(obj)可以是数值、字符串,也可以是列表、元组、字典或者是集合。输出时会将逗号间的内容用空格分隔开。。1.省略所有参数2.输出一个或多个数据对象3.使用指定输出分隔符4.指定输出结尾符号5.输出到文件3.1顺序结构程序设计3.1.2输入函数input()

基本语法如下。

变量=input("提示字符串")其中,变量和提示字符串均可省略。input()函数将用户输入的内容作为字符串返回。用户按Enter键结束输入,Enter键之前的全部字符均作为输入内容。指定变量时,变量将保存输入的字符串。3.2选择结构程序设计3.2.1if单分支语句

if语句单分支结构的语法形式如下。

if条件表达式:语句/语句块其中:(1)条件表达式可以是关系表达式、逻辑表达式、算术表达式等。(2)语句/语句块可以是单个语句,也可以是多个语句。多个语句的缩进必须对齐一致。(3)条件表达式的值为真(True)时,执行后面的语句(块),否则不做任何操作,控制将转到语句的结束点。

选择结构是根据条件来控制代码执行分支语句,选择结构也叫分支结构。Python使用if语句来实现分支结构。实例一输入一个学生的两门课程的考试成绩(设为x1,x2),如果两门成绩均大于或等于60分,则输出“pass”。x1=eval(input("请输入第一门课程的考试成绩:"))x2=eval(input("请输入第二门课程的考试成绩:"))ifx1>=60andx2>=60:print("pass")3.2选择结构程序设计3.2.2if双分支语句

if语句双分支结构的语法形式如下。

if条件表达式:

语句/语句块1else:

语句/语句块2实例二提示用户输入密码(key),如果正确(等于123),则显示“密码正确!”信息;否则,显示“密码错误”信息。key=int(input("请输入密码:"))ifkey==123:print("密码正确!")else:print("密码错误!")3.2选择结构程序设计3.2.3if多分支语句

if语句多分支结构的语法形式如下。

if条件表达式1:

语句/语句块1elif条件表达式2:

语句/语句块2…elif条件表达式n:

语句/语句块n[else:

语句/语句块n+1]实例三根据用户输入的期未考试成绩(如:mark),输出相应的成绩评定信息。成绩大于或等于90分输出“优”;成绩大于或等于80分小于90分输出“良”;成绩大于或等于70分小于80分输出“中”;成绩大于或等于60分小于70分输出“及格”;成绩小于60分输出“差”。mark=eval(input("请输入分数:"))ifmark>=90:print("优")elifmark>=80:print("良")elifmark>=70:print("中")elifmark>=60:print("及格")else:print("不及格"3.2选择结构程序设计3.2.4if语句嵌套

一般形式如下。

if条件表达式1: if条件表达式11: 语句/语句块1else: 语句/语句块2else: if条件表达式21: 语句/语句块3else: 语句/语句块4实例四任意输入三个整数,找出其中最大的数。a=int(input("请输入第一个整数:"))b=int(input("请输入第二个整数:"))c=int(input("请输入第三个整数:"))ifa>b:ifa>c:max=aelse:max=celse:ifb>c:max=belse:max=cprint("最大数为:",max)【任务实现】程序如下:y=eval(input("请输入血液中的酒精含量(mg/100ml):"))ify<20:print("不是酒驾,请放行!")elify>=20andy<80:print("酒后驾车:罚款1000-2000元,暂扣6个月驾驶证,一次扣12分!")elify>=80:print("醉酒驾车:罚款5000元,一次扣12分,处15日以下拘留,并且5年内不得重新获得驾照!")任务二解密银行卡

每个人都有多张银行卡,有时候记不清密码,在ATM机上连续输入错误3次后银行卡就会锁定,这时该怎么办呢?其实这时持卡人带上自己的有效证件前往银行柜台,申请银行卡解锁和密码重置,银行会对信息审核,信息审核通过后当场就可以申请密码的重置。本次的任务是使用Python程序实现银行卡登录功能,用户输入的密码与设置好的密码进行对比,一致则输出“欢迎进入银行系统!”,否则给第二、第三次输入密码机会;如果用户输入了3次密码都不一致,那么结束程序并显示“很抱歉,你已经退出系统!”。【提示】

程序运行后,首先进入登录界面。为了更好地与用户进行交互,可以利用输出语句打印出登录界面。接着提示用户输入密码,将用户的密码与系统密码进行比对,相等则表示密码输入正确,可进入系统。如果用户输入的密码不正确,则给第二、三次输入密码的机会。可以使用循环来实现此功能。3.3循环结构程序设计

计算机可以按规定的条件,重复执行某些操作。例如,要输入全校学生成绩;求若干数之和等,这类问题都可以通过循环来实现。Python中的循环语句有while和for两种形式。3.3.1while循环语句

基本格式如下。

while条件表达式:

循环体语句/语句块以while开头的那行代码称为循环的头部,头部中的条件表达式称为循环的条件,代码的缩进块称为循环体,每执行一次循环体称为通过该循环的一轮。实例五利用while循环求1+2+3+…+100的累加总和、偶数的和、奇数的和。i=1;sum_all=0;sum_odd=0;sum_even=0whilei<=100:sum_all+=iifi%2==0:sum_even+=ielse:sum_odd+=ii+=1print("1+2+3+…+100的累加总和:",sum_all)print("1+2+3+…+100的偶数的和:",sum_even)print("1+2+3+…+100的奇数的和:",sum_odd)3.3循环结构程序设计

for循环的基本格式如下。

for变量in序列:循环体语句/语句块1[else:循环体语句/语句块2]3.3.2for循环语句1.for语句输出列表

fruits=['apple','orange','banana','grape']forfruitinfruits:print(fruit)程序输出结果:appleorangebananagrape3.3循环结构程序设计3.3.2for循环语句2.for语句修改列表元素#把banana改为applefruits=['apple','orange','banana','grape']foriinrange(len(fruits)):iffruits[i]=='banana':fruits[i]='apple'print(fruits)程序输出结果:['apple','orange','apple','grape']3.for语句删除列表元素#把列表中banana删除fruits=['apple','orange','banana','grape']foriinfruits:ifi=='banana':fruits.remove(i)print(fruits)程序输出结果:['apple','orange','grape']3.3循环结构程序设计3.3.2for循环语句4.统计列表元素#统计apple的个数fruits=['apple','orange','banana','grape','apple']count=0foriinfruits:ifi=='apple':count+=1print("fruits列表中apple的个数="+str(count)+"个")程序输出结果:fruits列表中apple的个数=2个3.3循环结构程序设计

Python内置range()函数能返回一系列连续增加的整数,range()函数大多数出现在for循环中作为索引使用,range()函数的一般形式是。

range(start,end[,step])参数含义如下。start:计数从start开始,默认是从0开始,如range(5)等价于range(0,5)。end:计数到end结束,但不包括end,如range(0,5)是[0,1,2,3,4]没有5。step:每次跳跃的间距,默认为1,如range(0,5)等价于range(0,5,1)。3.3.3range()函数实例六利用for循环求1+2+3+…+100的累加总和、偶数的和、奇数的和。i=1;sum_all=0;sum_odd=0;sum_even=0foriinrange(1,101):sum_all+=iifi%2==0:sum_even+=ielse:sum_odd+=iprint("1+2+3+…+100的累加总和:",sum_all)print("1+2+3+…+100的偶数的和:",sum_even)print("1+2+3+…+100的奇数的和:",sum_odd)实例七输出所有的“水仙花数”。所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为153=13+53+33。实现思路:如何从一个三位数中提取各位数字是关键。这里借助%(取模-返回除法的余数)和//(取整除-返回商的整数部分)来完成。foriinrange(100,1000):a=i%10 #个位数b=i//10%10 #十位数c=i//100#百位数if(i==a**3+b**3+c**3):print(i)3.3循环结构程序设计for循环嵌套的基本格式如下。

for变量in序列:for变量in序列:循环体语句/语句块1循环体语句/语句块2while循环嵌套的基本格式如下。

while表达式:while表达式:循环体语句/语句块1循环体语句/语句块23.3.4循环嵌套实例八使用for语句嵌套输出九九乘法表。foriinrange(1,10):forjinrange(1,i+1):print(“%d*%d=%d﹨t"%(j,i,j*i),end="")print()实例九使用while语句嵌套输出九九乘法表。i=1whilei<10:j=1whilej<=i:print("%d*%d=%d﹨t"%(j,i,j*i),end="")j+=1i+=1print()3.3循环结构程序设计

break语句用于退出for或while循环,即提前结束循环,接着执行循环语句的后继语句。3.3.5break语句实例十使用break语句终止循环。forletterin"Python":ifletter=='h':breakprint("当前字母是:",letter)3.3循环结构程序设计

continue语句类似于break语句,也在for或while循环中使用。但它只结束本次循环即跳过循环体内自continue语句后尚未执行的语句,返回到循环的起始处,并根据循环条件判断是否执行下一次循环。3.3.6coutinue语句实例十一输入若干学生成绩,如果输入Q结束输入,如果成绩小于0,则重新输入。最后统计并输出学生人数和平均成绩。num=0;scores=0#初始化学生人数和成绩whileTrue:s=input("请输人学生成绩(按Q结束):")ifs.upper()=='Q':breakiffloat(s)<0:#成绩必须>=0continuenum+=1#

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论