Python程序开发基础 课件 项目3 活学活用流程控制_第1页
Python程序开发基础 课件 项目3 活学活用流程控制_第2页
Python程序开发基础 课件 项目3 活学活用流程控制_第3页
Python程序开发基础 课件 项目3 活学活用流程控制_第4页
Python程序开发基础 课件 项目3 活学活用流程控制_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

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

文档简介

顺序结构-换算重量任务描述

加快建设航天强国是党的二十大建设现代化强国部署之一。2003年10月我国实现了载人航天,经过二十年的发展,我国已实现登上月球的梦想。众所周知,月球上物体的体重是在地球上的16.5%,假设你在地球上的体重是65kg,试编写程序输出你在月球上的体重会是多少?是否发生人们传说的失重现象?顺序结构01IPO是一种程序编写方法。在进行程序设计时,无论程序的规模如何,每个程序都有统一的运算模式:输入数据(Input)、处理数据(Process)、输出数据(Output)),这种朴素的运算模式即IPO。首先,输入(Input)是一个程序的开始。程序要处理的数据有多种来源,形成了多种输入方式,包括:文件输入、网络输入、控制台输入、交互界面输出、随机数据输入、内部参数输入等。其次,处理(Process)是程序对输入数据进行计算产生输出结果的过程。计算问题的处理方法统称为“算法”,它是程序最重要的组成部分。可以说,算法是一个程序的灵魂。最后,输出(Output)是程序展示运算成果的方式。程序的输出方式包括:控制台输出、图形输出、文件输出、网络输出、操作系统内部变量输出等。

顺序结构

程序中的语句默认自上而下顺序执行,即顺序结构。顺序结构是计算机程序中最简单最基本的结构。在顺序结构中,编译/解释系统要求顺序地执行且必须执行有先后顺序排列的每一个最基本的处理单位,常用的顺序排列就是IPO程序控制流程。求三角形面积已知三角形三边长度分别为a、b、c,其半周长为l,根据海伦公式计算三角形面积s。三角形半周长和三角形面积公式分别如下所示:三角形半周长l=(a+b+c)/2三角形面积s=(l*(l-x)*(l-y)*(l-z))**0.5本例子要求编写程序,实现接收用户输入的三角形边长,计算三角形面积的功能。求三角形面积本题是典型的顺序结构通过使用Python常用运算符,按照顺序结构要求进行语句书写来编写程序。根据海伦公式计算三角形面积时,需要先获取三角形各边的边长,然后计算三角形的半周长,通过三角形的半周长与边长计算三角形面积。求三角形面积a=eval(input('边长a='))b=eval(input('边长b='))c=eval(input('边长c='))#计算半周长l=(a+b+c)/2#计算面积s=(l*(l-a)*(l-b)*(l-c))**0.5print('三角形面积s=%0.1f'%s)任务实现—换算重量02

根据题意,计算在月球上的体重前需要使用input()函数接收在地球上的体重。因为体重多使用数字类型表示,所以在Python中需要使用数字类型表示体重。当接收用户输入的体重数据后,根据月球上物体的体重是在地球上的16.5%来计算月球上的体重,例如,地球上体重为65kg,那么月球上的体重为65*16.5/100。

任务分析程序代码#获取月球上的体重mwew=eval(input(“请输入你的体重(kg):”))mw=ew*16.5/100print(‘如果在地球上的体重是{}kg,那么在月球上的体重将是{:.1f}’.format(ew,mw))任务总结

IPO是一种程序编写方法,无论程序的规模如何,每个程序都有统一的运算模式:输入数据(Input)、处理数据(Process)、输出数据(Output)),这种朴素的运算模式即IPO。顺序结构是指程序中的语句自上而下顺序执行,它是计算机程序中最简单最基本的结构。谢谢观看选择结构-根据BMI确定健康状况任务描述

BMI又称为身体质量指数,它是国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。

本任务要求编写程序,实现“根据BMI确定健康状况”判定。选择结构01

if语句

if语句可使程序产生分支,根据分支数量的不同,if语句分为单分支(if)、双分支(if-else)和多分支(if-elif-else)语句。if语句由if关键字、条件表达式和代码块三部分组成,它根据条件表达式的判断结果选择是否执行相应的代码块。

单分支

if语句产生一个分支,根据条件成立否决定是否执行代码块。if条件表达式:

代码块从键盘输入一个数,输出其绝对值。x=float(input(‘请输入一个数:‘))y=xifx<0:y=-xprint(‘{}的绝对值是{}’.format(x,y))if-else语句产生两个分支,可根据条件表达式的判断结果选择执行哪一个分支。if条件表达式:

代码块1else:

代码块2

双分支确定水仙花数水仙花数是一个3位数,它的每位数字的3次幂之和等于它本身,例如,153、370就是一个水仙花数。

num=int(input(“请输入一个三位整数:"))hund=int(num//100)#百位ten=int(num//10%10)#十位single=int(num%10)#个位ifhund**3+ten**3+single**3==num:print(f"{num}是水仙花数")else:print(f"{num}不是水仙花数")多分支:如果程序需要处理多种情况,可以使用if-elif-else语句。if条件表达式1:

代码块1elif条件表达式2:

代码块2elif条件表达式3:

代码块3elif条件表达式n-1:

代码块n-1else:

代码块n模拟下载操作在网上下载文件时,经常会跳出一个提示窗口,询问用户是否执行下载操作,此时若用户选择“y”或“Y”便会执行下载任务,若选择“n”或“N”便会退出下载任务。select=input('是否需要下载?(y/n):')ifselect=='y'orselect=='Y':print('----正在请求下载----')elifselect=='n'orselect=='N':print('----3秒后将返回首页----’)else:print('输入有误,请重新选择')任务实现

—根据BMI确定健康状况02

根据题意,首先获取体重和身高,然后根据BMI公式计算其BMI的值。

任务分析身体质量指数(BMI)=体重(kg)÷身高2程序代码height=float(input('请输入您的身高(m):'))weight=float(input('请输入您的体重(kg):'))BMI=weight/(height*height)print('您的BMI值为%.2f'%BMI)ifBMI<18.5:print('体重过轻')elif18.5<=BMI<=23.9:print('体重正常')elif24<=BMI<=27:print('体重过重')elif28<=BMI<=32:print('体重肥胖')else:print('非常肥胖')任务总结程序设计中经常会用到条件判断,譬如,用户登录时需判断用户名和密码是否全部正确,进而决定用户是否能够成功登录。Python中可以利用if语句实现单分支、双分支及多分支结构。谢谢观看循环结构-设计逢7拍手游戏任务描述

逢7拍手游戏的规则是:从1开始顺序数数,数到有7或者包含7的倍数的时候拍手。

本任务要求编写程序,实现“逢七拍手”游戏,输出100以内需要拍手的数字。循环结构01

While循环while循环是一个条件循环语句,当条件满足时重复执行代码块,直到条件不满足为止。格式:while条件表达式:

代码块首先判断条件表达式的结果是否为True,若结果为True执行while循环中的代码块,然后再次判断条件表达式的结果是否为True,若结果仍为True,则再次执行代码块...直至条件表达式的结果为False时结束循环。检测登录系统账号

登录系统一般具有账号和密码检测功能,即检测用户输入的账号和密码是否正确。若用户输入的账号或密码不正确,系统就会提示“用户名或密码错误”和“您还有*次机会”;若用户输入的账号和密码正确,系统就会提示“登录成功”;若输入的账号和密码错误次数超过3次,系统就会提示“输入错误次数过多,请稍后再试”。

本实例要求编写程序,模拟登录系统账号及密码检测功能,并限制账号或密码输错的次数最多为3次。检测登录系统账号count=0 #用于记录用户错误次数whilecount<3:user=input("请输入您的账号:")pwd=input("请输入您的密码:")ifuser=='admin'andpwd=='123': #进行账号密码比对print('登录成功')breakelse:print("用户名或密码错误")count+=1 #初始变量值自增1ifcount==3: #如果错误次数达到3次,则提示并退出print("输入错误次数过多,请稍后再试")else:print(f"您还有{3-count}次机会") #显示剩余次数请输入您的账号:admin请输入您的密码:123登录成功

for循环for循环可以对可迭代对象(序列)进行遍历。for临时变量in可迭代对象:

执行语句1

执行语句2......可迭代对象可以使字符串、列表、元组、集合、字典。

for循环for循环常与range()函数搭配使用,生成一个数字序列,以控制循环中代码段的执行次数。range()函数在for循环中的语法格式如下。foriinrange(strat,end,scan):

循环语句块

这里,start:计数初值,默认值为0,例如range(3)等价于range(0,3)。end:计数终值,但不包括end值,例如range(0,3)是指[0,1,2]区间,不包括3。scan:计数步长,即计数增量,默认值为1,例如range(0,3,1)等价于range(3)。任务实现—逢7拍手游戏02

根据题意,判断一个数字是否与7相关,可分为以下两种情况:是否为7的倍数,即一个数取模值为0;是否包含7,使用find()方法判断,当返回值为-1时表示不包含7。

任务分析程序代码#本题是模拟逢7拍手游戏foriinrange(1,101):#把i转成字符串,使用find方法(字符串中不包含时,返回-1)include=str(i).find("7")#判断条件:既不包含7,也不是7的倍数ifinclude==-1andint(i)%7!=0:#输出,换行符改为顿号print(i,end="、")#如果包含7输出拍手符号星号*elifinclude!=-1orint(i)%7==0:print("*",end='、')

任务总结程序设计中经常会遇到计算非常简单但需要重复多次的问题,这个就需要通过Python的循环结构来解决。Python的循环结构包括while循环结构和for循环结构两种类型。while循环结构利用条件是否满足来解决重复问题,而for循环是通过遍历次数来达到重复的目的。具体使用哪一种因情况而定。谢谢观看多重循环-设计猜数游戏任务描述

猜数游戏是一个古老的密码破译类、益智类小游戏,通常由两个人参与,一个人设置一个数字,一个人猜数字,当猜数的人说出一个数字,由出数字的人告知是否猜中:若猜测的数字大于设置的数字,出数字的人提示“很遗憾,你猜大了”;若猜测的数字小于设置的数字时,出数字的人提示“很遗憾,你猜小了”;若猜数的人在规定的次数内猜中设置的数字,出数字的人提示“恭喜,猜数成功”。

本实例要求编写程序,实现遵循上述规则的猜数字游戏,并限制只有3次机会来猜数。多重循环01

多重循环编写程序用for循环嵌套实现1!+2!+3!+4!的和

在Python中,循环是可以嵌套的,即在一个循环中再写一个循环。循环嵌套后,外层的循环每执行一次,内层的循环都会完成的运行一遍。while循环中可以嵌套while循环。while条件表达式1:

代码块1......while条件表达式2:

代码块2 ......for循环也可以嵌套使用,其格式如下。for临时变量in可迭代对象:

代码块1for临时变量in可迭代对象:

代码块2多重循环编写程序用for循环嵌套实现1!+2!+3!+4!的和。sum=0foriinrange(1,5):term=1forjinrange(1,i+1):term=term*jprint("{0}!={1}".format(i,term))sum=sum+termprint("sum=",sum)跳转语句02跳转语句

循环结构一般会执行完所有的情况后自然结束,但有些情况下需要跳出循环,这就需要使用跳转语句。python的跳转语句有两个,一个是break语句,用于跳出离它最近一级的循环,通常与if语句结合使用。另一个是continue语句,用于跳出当前循环,继续执行下一次循环。跳转语句可以改变循环结构的执行流程。break语句break语句可用于结束当前整个循环,它跳出离它最近一级的循环,通常与if语句结合使用,放在if语句代码块中。for临时变量in可迭代对象:

执行语句if条件表达式:

代码块break其格式如下:while条件表达式:

代码块if条件表达式:

代码块breakcontinue语句continue语句用于跳出当前循环,继续执行下一次循环。forelementin[0,-2,5,7,-10]:ifelement<=0:continueprint(element)Python中的pass语句是空语句,它是为了保持程序结构的完整性。pass语句不做任何事情,一般用作占位语句。任务实现—设计猜数游戏03

根据题意,游戏是针对1-100以内的整数数字进行猜测,猜测的数字由Python中random模块中randint()方法随机产生;因为规定玩家有5次机会,所以可以使用for循环与range()函数控制循环次数,在猜数的过程中还需要对玩家输入的内容进行判断,这里可以使用if-elif语句判断,如使用isdigit()方法判断玩家输入的内容是否是数字;使用比较运算符判断玩家输入的数字是否符合在规定范围内;判断玩家输入的数字是否与产生的随机数相等,如果相等输出“恭喜你用了x次猜对了”,当输入次数达到5次时,则输出“很遗憾,x次机会已用尽,游戏结束,答案为y”。

任务分析程序代码#本题是设计猜数游戏importrandomprint("猜数字游戏,输入一个1~100以内的数字")random_num=random.randint(1,100)#print(random_num)#打开注释可查看生成的随机数forfrequencyinrange(1,4):number=input("请输入一个数字:")ifnumber.isdigit()isFalse:print('请输入一个正确的数字')elifint(number)<0orint(number)>100:print("请输入1-100范围的数字")elifrandom_num==int(number):print("恭喜你用了%d次猜对了"%frequency)breakelifrandom_num>int(number):print("很遗憾,你猜小了")else:print("很遗憾,你猜大了")iffrequency==3:print("很遗憾,%d次机会已用尽,游戏结束,答案为%d"%(frequency,random_num))

任务总结在Python中,循环是可以嵌套的,即在一个循环中再写一个循环。循环嵌套后,外层的循环每执行一次,内层的循环都会完成的运行一遍。循环一般会执行完所有的情况后自然结束,但有些情况需要停止当前正在执行的循环并跳出循环。python的跳转语句有两个,一个是break语句,用于跳出离它最近一级的循环,通常与if语句结合使用。另一个是continue语句,用于跳出当前循环,继续执行下一次循环。谢谢观看跳转语句—韩信点兵任务描述韩信有一队兵,他想知道人数就进行点兵。他让士兵排队报数,按从1至5报数,最末一个士兵报的数为1;按从1至6报数,最末一个士兵报的数为5;按从1至7报数,最末一个士兵报的数为4;按从1至11报数,最末一个士兵报的数为10。

本任务要求编写程序,猜猜韩信至少有多少兵?跳转语句01

跳出循环循环结构中,一般会一直执行完所有的循环后自然结束,但是有些情况下需要停止当前正在执行的循环,也就是跳出循环。Python中有以下两个跳出循环的语句,它们是:

break语句—跳出整个循环

continue语句—跳出本次循环

break语句break语句用于跳出离它最近一级的循环,通常与if语句结合使用,放在if语句代码块中。

在for循环中其格式如下:for临时变量in可迭代对象:

执行语句if条件表达式:

温馨提示

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

评论

0/150

提交评论