




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Python核心编程与应用程序流程控制第二章新工科·数据科学与大数据系列01程序基本控制结构程序基本控制结构01顺序结构顺序结构强调按照先后顺序,自上而下,依次执行,如图2-1所示。例如:num1=int(input(’请输入第一个数字‘))num2=int(input(’请输入第二个数字‘))total=numl+num2print('{}={}={}’.format(numl,num2,total))程序基本控制结构01分支结构分支结构,又称为选择结构,意思是在多个选择分支中只能选其中一个,有单分支、双分支和多分支之分。在Python语言中,单分支结构用if实现,双分支结构用if-else实现(如图2-2所示)多分支结构用if-elif-else实现。[例2-1]根据性别区分不同的称呼。name=input(请输入你的姓名)gender=input(请输入你的性别)if
gender==男:print(’欢迎你,{}小哥哥!‘.format(name))if
gender==女:print(‘欢迎你,{}小姐姐!’.format(name))程序基本控制结构01分支结构在特定条件下不断地重复执行某一段代码,这个重复执行的代码就是循环体。循环条件和循环体组合在一起就是循环结构,如图2-3所示。Python有两种基本的循环结构:while循环和for循环。【例2-2】for循环程序示例:重要的事情说三遍。foriinrange(3):
#循环三遍print(‘今天的天气不错!‘)print('我们一起出去玩吧!‘)分支结构和循环结构变化比较多,尤其当结构嵌套时,复杂度直线上升。02简单分支结构简单分支结构02pass语句pass又称为空语句,不做任何处理,语法上用来占位,保证格式完整、语义完整,避免语法错误。假如定义一个函数或者写一个循环语句时不知道代码块中应该写什么,可以暂时使用pass代替,代码即可正常运行。例如:简单分支结构02all()函数all()函数的语法格式如下:all(iterable)参数:iterable是一个可迭代对象。如果iterable中的多个条件表达式没有一个元素是0、False或空格,iterable也不为空,那么返回True,否则返回False,简单地说,就是所有条件都满足,没有一个为假。【例2-5】择友的条件用all()函数完成。程序中的条件:all([height>=185,weight<=160,age>=18])与(height>=160andage>=18)等价。简单分支结构02any()函数any()函数的语法格式如下:any(iterable)参数:iterable是一个可迭代对象。当iterable中的多个条件表达式值都是0、False或空格时,结果为False。如果所有元素中有一个值非0、
False或空格,那么结果为True,简单说就是至少有一个条件满足。【例2-6】择友的条件用any函数完成表达式any([height>=185,weight<=160,age>=18])与(height>=185orweight<=160orage>=18)等价,表示只要其中有一个条件满足表达式就为真。03复制分支结构复制分支结构03双分支结构双分支结构的语法如下:if条件语句1else:语句2表达如果条件成立,那么执行语句1,否则执行语句2。【例2-7】用双分支结构实现成就分类。双分支结构能够将原来需要使用两个单分支选择语句的程序用一个if-else语句实现。复制分支结构03双分支结构【例2-8】幸运数字测试,假设幸运数字是6。其中,random是一个随机函数库,random.randint(1,10)产生一个1~10的随机整数。复制分支结构03多分支结构多分支结构的语法格式如下(如图2-4所示):if条件1:语块1elif条件2:语块2elif条件3:语句块3······else:语块n复制分支结构03多分支结构【例2-9】用多分支结构划分成绩等级。复制分支结构03多分支结构【例2-10】用多路分支结构实现请假流程。复制分支结构03分支嵌套结构分支嵌套就是在分支语句的语句块中包含另一个或多个分支语句,可以表达复杂的逻辑结构。【例2-11】通过用户名和密码判断是否为合法用户。注意:嵌套的分支语句的层次关系,不同的缩进表达不同的层次。复制分支结构03分支嵌套结构【例2-12】公园门票计算规则如下:1,2,3,9,10,11,12月份是旅游淡季,门票统一8折,若游客是未满13岁的儿童或超过70的老人,则在此基础上再6折。程序说明:(4,5,6,7,8)表示元组,monthnotin(4,5,6,7,8)是成员判断,表示月份不在(4,5,6,7,8)这个范围内。程序中分支嵌套层级过多会影响代码的阅读性,后期也不容易维护,所以尽量减少分支嵌套,简化业务逻辑。复制分支结构03分支嵌套结构【例2-13】合法用户身份判断。若用户名为“admin”且密码为“123456”,则是合法用户,显示“登录成功”,否则显示“密码不正确”。checkpassword()是用户自定义函数,判断密码是否正确。程序从语句userame-input(‘请输入用户名:’)开始执行,先判断用户名,再判断密码。有关函数的定义将在第5章讨论。04While循环While循环04while循环,又称为条件循环,即当条件成立时执行循环体,重复这个过程,直到条件不成立。其语法格式如下:while条件:代码块1else:代码块2只有当while循环正常结束时,else子句才执行;若while循环非正常结束,则不执行else子句。while循环包括:循环变量初始值,循环条件,循环变量的改变。While循环04【例2-14】计算1~100的自然数之和。思考:上述while循环的3个组成要素若缺少了其中任意一个,会产生怎样的结果?While循环04【例2-15】求多项式1-2+3-4+5···+99的和本例循环中嵌套了选择结构。特别注意,i+=1语句与f语句并列对齐在同一层上。While循环04【例2-16】100元正好买100只鸭子,大鸭子4元一只,小鸭子1元4只,问一共可买多少只大鸭子和小鸭子。While循环04【例2-17】编程实现十进制转为二进制continue和break是循环控制语句,分别表示绕过本次循环和结束本循环(见26节)。05for循环for循环05for循环用来遍历可迭代对象,如遍历列表、元组、字符串等,列表和元组将在第3章中讲述。用引号引起来的字符串也是一个可迭代对象,其中的一个个字符就是这个可迭代对象的元素,因此用for循环可方便地遍历字符串中的字符。for循环的语法格式如下:for
变量
in
可选代对象:代码块1else:代码块2注意:变量用来临时接受可迭代对象中的元素,不需要事先声明。for循环05for循环用来遍历可迭代对象,如遍历列表、元组、字符串等,列表和元组将在第3章中讲述。用引号引起来的字符串也是一个可迭代对象,其中的一个个字符就是这个可迭代对象的元素,因此用for循环可方便地遍历字符串中的字符。for循环的语法格式如下:for
变量
in
可选代对象:代码块1else:代码块2注意:变量用来临时接受可迭代对象中的元素,不需要事先声明。for循环05【例2-19】使用for循环实现1100之间的所有偶数和。运行结果:若将循环改成如下形式,就更简单:while循环有三要素,而for循环将这三要素实现了自动化,程序更方便、简洁:①不需要初始化变量;②循环变量自动依次取下一个元素,不需要人为改变;③一旦遍历完对象循环便自动终止,没有循环条件。for循环05【例2-20】使用for循环打印如下图形。代码如下:for_inrange(4):print('*'
*
8)当for循环的循环变量不关心所存放的内容,只是用来表示循环的次数时,循环变量可以用下画线代替。for循环05【例2-21】编写随机加法运算器。依次出5道加法题目,由用户输入答案,每答完一道题,就会判断对错,并提示“答对了”或“答错了”。全部答完后,计算得分并输出。运行结果:for循环05randomrandint(1,10)用来产生[1,10]之间的随机整数。random是随机函数库,需要事先通过import导入。while与for循环各有特点,区别如下:①while循环必须初始化变量,循环条件必须显式表示,循环体中需要修改变量。for循环自动实现这三点,特点就是遍历迭代对象。②while循环用于预先不确定循环次数的场合,而for循环用于预先确定循环次数的场合很多情况下,while与for循环可以通用。06循环嵌套和循环控制循环嵌套和循环控制06while循环嵌套while循环嵌套的语法格式如下:while条件I:代码块1while条件2:代码块2条件1所在的循环称为外循环,条件2所在的循环称为内循环,Python用缩进表达语句的包含和层次关系,所以书写时内循环作为一个整体必须缩进在外循环的while下。循环嵌套执行时,当条件1成立进入外循环的循环体时,先运行代码块1,再运行内循环这两部分都运行完毕,则回到外循环,继续判断条件1是否成立;若成立,再次进入外循环的循环体。打个比方,地球围绕着太阳公转就好像外循环,转一圈是365天,那么地球的自转就是内循环,自转一圈是24小时。循环嵌套和循环控制06for循环嵌套for变量Iin可选代对象1:代码块1for变量2in可迭代对象2:代码块2【例2-24】打印九九乘法表。循环嵌套和循环控制06for循环嵌套运行结果:程序共执行外循环9次,用于控制输出9行,内循环用于打印第i行,共个算式,所以循环i次。每行打印完要换行,所以内循环结束后要单独增加一个print()函数。用for循环套的代码如下。循环嵌套和循环控制06循环控制语句break循环过程中可能发生某些意外,需要提前终止循环,这时可以用break语句。break在while或for循环语句中的作用是终止本级循环。【例2-26】1~1000的自然数累加,当累加和首次超过3000时,打印加数项及累加和。运行结果:循环嵌套和循环控制06循环控制语句continue循环过程中,continue用于在某种情形下跳过本次循环,提前进入下一轮循环。continue强调的是不再执行本次循环内当前语句后面的其余语句,重新开始下一次循环。【例2-28】打印自然数10以内的偶数。fornuminrange(10):if(num%2==1):
#跳过奇数continue
#跳过下面的语句,即不运行下面的print,直接进入下一轮循环print(num)
#打印偶数07聊天机器人的实现思路聊天机器人的实现思路07聊天机器人属于人工智能的范畴。人工智能(ArtificialIntelligence,AI),起源于1956年的达特茅斯(Dartmouth)会议,由人工智能之父约翰·麦卡锡(JohnMacCarthy)和一批数学家、信息学家、心理学家、神经生理学家、计算机科学家首次提出,是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用的一门新的学科。近年诞生
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 田间试验顺序排列设计
- 知荣明耻主题班会课件
- 智能语音机器人系统研发与运营协议
- 工程经济人才培养规划试题及答案
- 健康行业阅读题集
- 物流运输优化方法题库
- 生物学细胞分裂与分化习题集
- 建筑学建筑设计风格模拟试题及解析
- 商业租赁条款细则协议书暨租约签署事项说明
- 水利水电工程基础设施试题及答案
- 2025年安徽省交通控股集团限公司社会化公开招聘自考难、易点模拟试卷(共500题附带答案详解)
- 三管感染的预防与控制
- 2025年中医养生茶饮课件
- 第21课《己亥杂诗(其五)》教学课件【知识精研】统编版语文七年级下册
- 消除艾滋病、梅毒和乙肝母婴传播项目工作制度及流程(模板)
- 2025届南通市重点中学中考生物模拟试题含解析
- 东北石油大学专用毕业答辩模板2
- 人教版数学五年级下册全册大单元整体教学设计
- 窝沟封闭课件
- 大数据平台建设及运营合作协议书
- 工程车驾驶员安全培训
评论
0/150
提交评论