版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Python少儿编程第三章神奇的分支和循环目录1.1前进的向导1.2选择不同的道路1.3摆脱重复的任务PART01前进的向导什么是流程图1.1流程图是对某一个问题的定义、分析或解法的图形表示,图中用各种符号来表示操作、数据、流向及装置等。程序流程图则表示程序的运行顺序,是一种常用的表示算法的图形化工具。换言之,程序流程图就是通过画图的方式表达程序运行的所有路径,通过使用箭头和框图把程序运行的方向与步骤展示出来。程序流程图的基本符号1.2图3-1程序流程图中常用的符号程序流程图的基本符号1.2(1)端点符表示算法的起始或结束。(2)判断符用于对给定的条件进行判断,根据判断的结果来选择流程方向。它只有一个入口,可以有若干个出口,但有且仅有一个出口被激活。(3)处理符表示算法中的具体处理步骤。(4)流线符表示数据流,箭头指示流向。(5)连接符用于连接因页面写不下而断开的流程线,对应的连接符应有同一标记。(6)注解符用来标识注解内容,它不是程序流程图的必要部分,不反应流程和操作,只是为了对流程图中某些符号的操作进行必要的补充说明,以帮助读者更好的理解。(7)数据符表示未指定媒体的数据,可用于输入和输出,比较通用。程序流程图还包括一些特殊的数据符,常用的有文件符、显示符和人工输入符。程序流程图的基本符号1.2在程序设计中,包含了3种基本结构,即顺序结构、分支结构和循环结构,其流程图如图3-2所示。图3-23种基本结构的流程图扫地机器人的工作流程图1.3扫地机器人工作时传感器会检测前方、左边和右边是否有障碍物,并将检测结果传给扫地机器人进行判断。扫地机器人根据判断结果规划路径,具体如下。(1)判断前方是否有障碍物,如果没有,则机器人前行;如果有,则进行下一步判断。(2)判断左边是否有障碍物,如果没有,则机器人左转;如果有,则进行下一步判断。(3)判断右边是否有障碍物,如果没有,则机器人右转;如果有,则后退。(4)循环执行(1)~(3),直到机器人停止工作。扫地机器人的工作流程图1.3图3-3扫地机器人的工作流程图PART02选择不同的道路简单的if语句2.1if语句允许程序通过判断条件是否成立而选择是否执行指定的语句。if语句的基本语法格式如下。if判断条件:
语句块if语句的执行过程是:如果判断条件为True,执行语句块,否则直接执行if语句后的语句。例如:weather='晴' #创建变量weather代表天气,赋值为“晴”ifweather=='晴': #如果天气为晴print('去公园玩') #输出“去公园玩”if-else语句2.2if语句只允许在条件为True时执行指定的语句,而if-else语句还可在条件为False时执行指定的语句,其基本语法格式如下。if判断条件:
语句块1else:
语句块2上述语句的执行过程是:当判断条件为True时,执行语句块1,否则执行语句块2。if-else语句2.2【例3-1】
根据输入的天气选择是否出门游玩。【参考代码】weather=input('请输入天气情况:') #输入变量weather的值ifweather=='晴'orweather=='多云': #如果天气为晴或多云print('去公园玩') #输出“去公园玩”else: #如果不是print('在家玩') #输出“在家玩”【问题分析】
本例题可使用if-else语句进行条件判断,如果输入天气为“晴”或“多云”,输出“去公园玩”,否则输出“在家玩”。if-else语句2.2【运行结果】
程序运行结果如图3-4所示。图3-4例3-1程序运行结果if-elif-else语句2.3编程时常常需要判定一系列的条件,一旦其中某一个条件为True就立刻停止。此时,可采用if-elif-else语句(elif是elseif的简写),其基本语法格式如下。if判断条件1:
语句块1elif判断条件2:
语句块2……elif判断条件n:
语句块nelse:
语句块n+1if-elif-else语句2.3表3-1温度和穿衣建议对照关系【例3-2】
根据输入的温度temperature给出穿衣建议,温度和穿衣建议对照关系如表3-1所示。if-elif-else语句2.3【参考代码】#输入温度temperature的值并将其转化为浮点数temperature=float(input('请输入温度(℃):'))iftemperature>=28.0: #如果温度大于等于28.0print('穿衣建议:轻棉织物制作的短衣、短裙、短裤等') #输出穿衣建议eliftemperature>=24.0: #如果温度大于等于24.0小于28.0print('穿衣建议:棉麻面料的衬衫、薄长裙、薄T恤等') #输出穿衣建议eliftemperature>=21.0: #如果温度大于等于21.0小于24.0print('穿衣建议:单层棉麻面料的T恤衫、长裤、薄牛仔裤等') #输出穿衣建议eliftemperature>=18.0: #如果温度大于等于18.0小于21.0print('穿衣建议:薄外套、风衣、薄毛衣等') #输出穿衣建议eliftemperature>=15.0: #如果温度大于等于15.0小于18.0print('穿衣建议:风衣、外套、毛衣等') #输出穿衣建议eliftemperature>=11.0: #如果温度大于等于11.0小于15.0print('穿衣建议:毛衣、风衣、大衣等') #输出穿衣建议eliftemperature>=6.0: #如果温度大于等于6.0小于11.0print('穿衣建议:棉衣、冬大衣、薄羽绒服等') #输出穿衣建议else: #以上条件都不满足print('穿衣建议:羽绒服、厚棉衣、冬大衣等') #输出穿衣建议if-elif-else语句2.3【运行结果】
程序运行结果如图3-5所示。图3-5例3-2程序运行结果【程序说明】
每个else本身都隐含了一个条件,如第1个elif实质上表示条件24.0≤temperature<28.0成立,此隐含条件与对应的if所给出的条件完全相反。在编程时要善于利用隐含条件,使程序代码清晰简洁。嵌套的if语句2.4在if语句中又包含一个或多个if语句时,称为if语句的嵌套,其基本语法格式如下。if判断条件1: if判断条件2:
语句块1 else:
语句块2else: if判断条件3:
语句块3 else:
语句块4嵌套的if语句2.4【例3-3】
分配任务。在社会实践活动中有三项任务,分别是:种树、采茶、打扫街道。依据小组人数及男生、女生人数决定小组的任务,人数小于5的小组负责打扫街道,人数大于等于5且男生多于女生的小组负责种树,人数大于等于5且男生不多于女生的小组负责采茶。输入小组男生、女生人数,输出小组接受的任务。【问题分析】
本例题可使用嵌套的if语句实现,程序流程图如图3-6所示。嵌套的if语句2.4图3-6分配任务流程图嵌套的if语句2.4【参考代码】boy=int(input('请输入男生人数:')) #输入男生人数并转化为整数girl=int(input('请输入女生人数:')) #输入女生人数并转化为整数total=boy+girl #计算总人数iftotal<5: #如果总人数小于5print('打扫街道') #输出“打扫街道”else: #如果总人数大于等于5ifboy>girl: #如果男生人数大于女生人数print('种树') #输出“种树”else: #如果男生人数小于等于女生人数print('采茶') #输出“采茶”嵌套的if语句2.4【运行结果】
程序运行结果如图3-7所示。图3-7例3-3程序运行结果PART03摆脱重复的任务while语句3.1while循环语句的基本语法格式如下。while判断条件:
语句块 #循环体上述语句的执行过程是:当判断条件为True时,执行循环体;接着再次判断条件,如果为True,继续执行循环体;如此反复,直到判断条件为False时结束循环,执行while语句后的语句。while语句3.1【例3-4】
输入一个整数n,求S=1+2+3+…+n的值。【问题分析】
本例题可使用循环结构来实现。重复执行循环体n次,每次加一个数。继续分析发现,每次累加的数是有规律的,后一个数是前一个数加1。因此,只需在加完上一个数i后,使i加1就可得到下一个数。【参考代码】n=int(input('请输入一个整数:')) #输入n的值,并转化为整数i=1 #创建变量i,赋值为1S=0 #创建变量S,赋值为0whilei<=n: #循环,当i>n时结束S+=i #求和,将结果赋给Si+=1 #变量i加1print('S=1+2+3+…+n=',S) #输出S的值while语句3.1【运行结果】
程序运行结果如图3-8所示。图3-8例3-4程序运行结果在使用while语句时,需要注意以下两点。(1)变量初始化描述要完整、准确。(2)在循环体中应有使循环趋于结束的语句。for语句3.21.基本语法格式for语句的基本语法格式如下。for变量in序列:
语句块 #循环体上述语句的执行过程是:如果序列中包含表达式,则先进行求值计算;然后,序列中的第一个元素赋给变量,执行循环体;接着序列中的第二个元素赋给变量,执行循环体;依此类推,直到序列中最后一个元素赋给变量,执行循1环体后for循环结束,执行for语句后的语句。for语句3.21.基本语法格式例如,使用for循环输出字符串“python”中的每一个字符,可使用下面代码实现。forxin'python':print(x)上述代码运行结果如图3-9所示。图3-9for循环输出字符串“python”中的每一个字符for语句3.22.range()函数for语句经常与range()函数一起使用,range()函数是Python的内置函数,可创建一个整数列表。range()函数的语法格式如下。range([start,]stop[,step])(1)start:计数从start开始,默认为0。例如,range(5)等价于range(0,5)。(2)stop:计数到stop结束,但不包括stop。例如,range(0,5)是[0,1,2,3,4]。(3)step:步长,默认为1。例如,range(0,5)等价于range(0,5,1)。for语句3.22.range()函数【例3-5】
鸡兔同笼。大约在1500年前,《孙子算经》中记载:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?”编程计算鸡和兔的数量并输出。【问题分析】根据题意设鸡和兔的数量分别为cock和rabbit,如果笼中全部是鸡,鸡的最大数量为35,所以cock在0~35取值,且rabbit=35−cock。确定了鸡的范围后进行穷举并判断,由于鸡有两只脚,兔有4只脚,所以判断条件为鸡和兔的脚的总数量为94。【参考代码】forcockinrange(0,35+1): #循环范围为0~35,cock表示鸡的数量rabbit=35-cock #计算兔的数量ifcock*2+rabbit*4==94: #如果鸡和兔的脚的总数为94print('鸡有',cock,'只') #输出鸡的数量print('兔有',rabbit,'只') #输出兔的数量for语句3.22.range()函数【运行结果】
程序运行结果如图3-10所示。图3-10例3-5程序运行结果嵌套的循环语句3.3一个循环语句的循环体内包含另一个完整的循环结构,称为循环的嵌套。嵌套在循环体内的循环称为内循环,嵌套有内循环的循环称为外循环。内循环中还可以嵌套循环,这就是多重循环。while语句和for语句可以互相嵌套,自由组合。外层循环体中可以包含一个或多个内层循环结构,但要注意的是,各循环必须完整包含,相互之间不允许有交叉现象。嵌套的循环语句3.3【例3-6】
输出下面九九乘法表。1*1=11*2=22*2=41*3=32*3=63*3=91*4=42*4=83*4=124*4=16…………1*9=92*9=183*9=274*9=36……9*9=81【问题分析】该问题可使用for语句的循环嵌套来实现,外循环控制行,内循环控制列。嵌套的循环语句3.3【参考代码】forxinrange(1,10): #循环变量x从1到9foryinrange(1,x+1): #循环变量y从1到xprint(y,'*',x,'=',x*y,'',end='') #输出乘法表达式
print('') #输出空字符串,换行【运行结果】
程序运行结果如图3-11所示。图3-11例3-6程序运行结果break和continue语句3.4【例3-7】
身份验证。循环判断用户输入的账号和密码是否正确,如果正确则退出。1.
break语句【问题分析】
首先设定用户的正确账号和密码;然后使用while循环,在循环中,输入账号和密码,如果都正确则输出登录成功并跳出循环,否则输出账号或密码输入有误,继续循环。break和continue语句3.41.
break语句【参考代码】name='python' #创建变量name表示正确账号password='12345678' #创建变量password表示正确密码whileTrue: #循环name_input=input('请输入账号:') #输入账号password_input=input('请输入密码:') #输入密码ifname!=name_input: #如果账号不正确print('输入的账号有误!') #输出账号有误elifpassword!=password_input: #如果密码不正确print('输入的密码有误!') #输出密码有误else: #如果账号和密码都正确print('登录成功!') #输出登录成功break #跳出循环break和continue语句
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年国际销售代理业务协议
- 工业用地部分产权转让协议书
- 海洋工程建设服务方案
- 2024年物业管理服务协议定制样本
- 2024年珠宝店装修项目协议条款
- 2024年地产界墙施工协议模板
- 2024酒店施工项目协议样本
- 预付款音乐培训课程协议
- 文化传媒公司总经理聘用协议
- 2024年知识产权公司股权让渡协议
- 浙江省杭州市小升初数学真题重组卷
- 分布式光伏经济评价规范
- 《水泥用铁质校正料》
- 社会工作服务项目管理课件
- 学校零星维护维修方案
- JJG 105-2019转速表行业标准
- 流行音乐(中国)
- 全国职业院校技能大赛(酒水服务)考试题库(含答案)
- 35KV集电线路强条总汇
- 光伏玻璃生产工艺管理与控制
- 《青藏铁路精神》课件
评论
0/150
提交评论