欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    Python编程基础-第3章-程序控制结构(2022年1月版本).ppt

    • 资源ID:74923559       资源大小:2.73MB        全文页数:72页
    • 资源格式: PPT        下载积分:25金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要25金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Python编程基础-第3章-程序控制结构(2022年1月版本).ppt

    Python程序设计基础教程(微课版)厦门大学计算机科学与技术系林子雨厦门大学计算机科学与技术系 2022年第第3章章 程序控制结构程序控制结构http:/ 博士博士/副教授副教授厦门大学计算机科学系厦门大学计算机科学系E-mail:主页:主页:http:/ if语句的嵌套语句的嵌套Python程序设计基础教程(微课版)教材官方网站:http:/ ab:04 c=b05if ab:06 c=a07print(两个数的较小值是:两个数的较小值是:,c)Python程序设计基础教程(微课版)厦门大学计算机科学与技术系林子雨3.2.2ifelse语句“ifelse”语句也是选择语句的一种通用形式,通常表现为“如果满足某种条件,就进行某种处理,否则进行另一种处理”,它的一般形式为:if表达式:语句块1else:语句块2其中,表达式可以是一个单一的值或者变量,也可以是由运算符组成的复杂语句。如果表达式的值为真,则执行语句块1,如果表达式的值为假,则执行语句块2,具体流程如图33所示。需要注意的是,else不能单独使用,必须和if一起使用。图33if.else语句流程图Python程序设计基础教程(微课版)厦门大学计算机科学与技术系林子雨3.2.2ifelse语句【例32】判断一个数是奇数还是偶数。01#odd_even.py02a=503if a%2=0:04 print(这是一个偶数。这是一个偶数。)05else:06 print(这是一个奇数。这是一个奇数。)Python程序设计基础教程(微课版)厦门大学计算机科学与技术系林子雨3.2.3ifelifelse多分支语句“ifelifelse”多分支语句用于针对某一事件的多种情况进行处理,通常表现为“如果满足某种条件,就进行某种处理,否则如果满足另一种条件则执行另一种处理”,它的一般形式为:if表达式1:语句块1elif表达式2:语句块2elif表达式3:语句块3else:语句块n其中,表达式可以是一个单一的值或者变量,也可以是由运算符组成的复杂语句。如果表达式1的值为真,则执行语句块1,如果表达式1的值为假,则进入elif的判断,依此类推,只有在所有表达式都为假的情况下,才会执行else中的语句,具体流程如图34所示。需要注意的是,elif和else都不能单独使用,必须和if一起使用。Python程序设计基础教程(微课版)厦门大学计算机科学与技术系林子雨3.2.3ifelifelse多分支语句图34if.elif.else语句流程图Python程序设计基础教程(微课版)厦门大学计算机科学与技术系林子雨3.2.3ifelifelse多分支语句【例33】判断每天上课的内容。01#lesson.py02day=int(input(请输入第几天课程:请输入第几天课程:)03if day=1:04 print(第第1天上数学课天上数学课)05elif day=2:06 print(第第2天上语文课天上语文课)07else:08 print(其他时间上计算机课其他时间上计算机课)Python程序设计基础教程(微课版)厦门大学计算机科学与技术系林子雨3.2.4 if语句的嵌套语句的嵌套前面介绍了3种形式的选择语句,即if、ifelse和ifelifelse,这3种选择语句之间可以相互嵌套。例如,在最简单的if语句中嵌套ifelse语句,形式如下:if表达式1:if表达式2:语句块1else:语句块2Python程序设计基础教程(微课版)厦门大学计算机科学与技术系林子雨3.2.4 if语句的嵌套语句的嵌套if表达式1:if表达式2:语句块1else:语句块2else:if表达式3:语句块3else:语句块4再比如,在ifelse语句中嵌套ifelse语句,形式如下:在开发程序时,需要根据具体的应用场景选择合适的嵌套方案。需要注意的是,在相互嵌套时,一定要严格遵守不同级别语句块的缩进规范。Python程序设计基础教程(微课版)厦门大学计算机科学与技术系林子雨3.2.4 if语句的嵌套语句的嵌套【例34】判断是否为酒后驾车。假设规定车辆驾驶员的血液酒精含量小于20mg/100ml不构成酒驾,酒精含量大于或等于20mg/100ml为酒驾,酒精含量大于或等于80mg/100ml为醉驾。01#drunk-driving.py02alcohol=int(input(请输入驾驶员每请输入驾驶员每100ml血液酒精的含量:血液酒精的含量:)03if alcohol 20:04 print(驾驶员不构成酒驾驾驶员不构成酒驾)05else:06 if alcohol=75:04 if math=90:05 print(数学成绩为优数学成绩为优)06 else:07 print(数学成绩为良数学成绩为良)08else:09 if math=60:10 print(数学成绩及格了数学成绩及格了)11 else:12 print(数学成绩不及格数学成绩不及格)Python程序设计基础教程(微课版)厦门大学计算机科学与技术系林子雨3.2.4 if语句的嵌套语句的嵌套【例36】判断某一年是否闰年。闰年的条件是:(1)能被4整除,但不能被100整除的年份都是闰年,如1996年、2004年是闰年;(2)能被100整除,又能被400整除的年份是闰年,如2000年是闰年。不符合这两个条件的年份不是闰年。01#year.py02year=int(input(请输入年份:请输入年份:)03if year%4=0:04 if year%100=0:05 if year%400=0:06 flag=107 else:08 flag=009 else:10 flag=111else:12 flag=013if flag=1:14 print(year,年是闰年年是闰年)15else:16 print(year,年不是闰年年不是闰年)Python程序设计基础教程(微课版)厦门大学计算机科学与技术系林子雨3.3循环语句3.3.1while循环语句3.3.2for循环语句3.3.3循环嵌套Python程序设计基础教程(微课版)教材官方网站:http:/ sum+=n06 n+=107print(199的整数和是:的整数和是:,sum)Python程序设计基础教程(微课版)厦门大学计算机科学与技术系林子雨3.3.1while循环语句【例38】设计一个小游戏,让玩家输入一个数字,程序判断是奇数还是偶数。01#digit.py02prompt=输入一个数字,我将告诉你,它是奇数,还是偶数输入一个数字,我将告诉你,它是奇数,还是偶数03prompt+=n输入输入“结束游戏结束游戏”,将退出本程序:,将退出本程序:04exit=结束游戏结束游戏#退出指令退出指令05content=#输入内容输入内容06while content!=exit:07 content=input(prompt)08 if content.isdigit():#isdigit()函数用于检测字符串是否只由数字组成函数用于检测字符串是否只由数字组成09 number=int(content)10 if(number%2=0):11 print(该数是偶数该数是偶数)12 else:13 print(该数是奇数该数是奇数)14 elif content!=exit:15 print(输入的必须是数字输入的必须是数字)Python程序设计基础教程(微课版)厦门大学计算机科学与技术系林子雨3.3.1while循环语句在编写while循环语句时,一定要保证程序正常结束,否则会造成“死循环”(或“无限循环”)。例如,在下面的代码中,i的值永远小于100,运行后程序将不停地输出0。01i=002while i100:03 print(i)Python程序设计基础教程(微课版)厦门大学计算机科学与技术系林子雨3.3.2for循环语句for语句是最常用的循环语句,一般用在循环次数已知的情况下,它的一般形式为:for迭代变量in对象:语句块其中,迭代变量用于保存读取出的值;对象为要遍历或迭代的对象,该对象可以是任何有序的序列对象,如字符串、列表和元组等。被执行的语句块也称为“循环体”。for循环的具体执行流程如图36所示。图36for循环语句流程图Python程序设计基础教程(微课版)厦门大学计算机科学与技术系林子雨3.3.2for循环语句【例39】用for循环实现计算199的整数和。01#int_sum_for.py02sum=003for n in range(1,100):#range(1,100)用于生成用于生成1到到100(不包括(不包括100)的整)的整数数04 sum+=n05print(1到到99的整数和是:的整数和是:,sum)在上面实例中,用到了range()函数,该函数的具体用法如下:range(stop):生成从0开始到stop结束(不包含stop)的一系列数值。比如,range(3)生成的数值是0、1、2。range(start,stop):生成从start开始到stop结束(不包含stop)的一系列数值。比如,range(2,5)生成的数值是2、3、4。range(start,stop,step):生成从start开始到stop结束(不包含stop)、步长为step的一系列数值。比如,range(2,10,2)生成的数值是2、4、6、8,range(10,1,2)生成的数值是10、8、6、4、2。Python程序设计基础教程(微课版)厦门大学计算机科学与技术系林子雨3.3.2for循环语句【例310】输出所有的“水仙花数”。所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为153=13+53+33。01#narcissus.py02for i in range(100,1000):03 a=i%10#个位数个位数04 b=i/10%10#十位数十位数05 c=i/100#百位数百位数06 if(i=a*3+b*3+c*3):07 print(i)Python程序设计基础教程(微课版)厦门大学计算机科学与技术系林子雨3.3.2for循环语句【例311】判断一个数是否是素数。判断一个数m是否是素数的算法是:让m被2到除,如果m能被2到之间任何一个整数整除,则可以判断m不是素数;如果m不能被2到之间的任何一个整数整除,则可以判断m是素数。01#prime.py02#由于程序中要用到求平方根的函数由于程序中要用到求平方根的函数sqrt(),因此需要导入,因此需要导入math模块模块03import math04m=int(input(请输入一个数请输入一个数m:)05n=int(math.sqrt(m)#math.sqrt(m)返回返回m的平方根的平方根06prime=107for i in range(2,n+1):08 if m%i=0:09 prime=010if(prime=1):11 print(m,是素数是素数)12else:13 print(m,不是素数不是素数)Python程序设计基础教程(微课版)厦门大学计算机科学与技术系林子雨3.3.3循环嵌套循环的嵌套就是在一个循环体内又包含另一个完整的循环结构,而在这个完整的循环体内还可以嵌套其他的循环结构。循环嵌套很复杂,在for语句、while语句中都可以嵌套,并且在它们之间也可以相互嵌套。例如,在while循环中嵌套while循环的格式如下:while表达式1:while表达式2:语句块2语句块1在for循环中嵌套for循环的格式如下:for迭代变量1in对象1:for迭代变量2in对象2:语句块2语句块1Python程序设计基础教程(微课版)厦门大学计算机科学与技术系林子雨3.3.3循环嵌套在while循环中嵌套for循环的格式如下:while表达式:for迭代变量in对象:语句块2语句块1在for循环中嵌套while循环的格式如下:for迭代变量in对象:while表达式:语句块2语句块1Python程序设计基础教程(微课版)厦门大学计算机科学与技术系林子雨3.3.3循环嵌套【例312】分别输入两个学生的3门成绩,并分别计算平均成绩。使用while循环嵌套实现,具体代码如下:01#avg_score_while.py02 j=1#定义外部循环计数器初始值定义外部循环计数器初始值03 while j=2:#定义外部循环为执行两次定义外部循环为执行两次04 sum=0#定义成绩初始值定义成绩初始值05 i=1#定义内部循环计数器初始值定义内部循环计数器初始值06 name=input(请输入学生姓名请输入学生姓名:)#接收用户输入的学生姓名,赋值给接收用户输入的学生姓名,赋值给name变量变量07 while i=4:07 break上面代码的执行结果如下:234从执行结果可以看出,当执行到x的值为4的时候,程序就跳出了循环。Python程序设计基础教程(微课版)厦门大学计算机科学与技术系林子雨3.4.1break跳转语句【例318】使用break语句跳出嵌套循环的内层循环01#break2.py02for i in range(0,3):03 print(此时此时i的值为的值为:,i)04 for j in range(5):05 print(此时此时j的值为的值为:,j)06 if j=1:07 break08 print(跳出内层循环跳出内层循环)Python程序设计基础教程(微课版)厦门大学计算机科学与技术系林子雨3.4.1break跳转语句上面代码的执行结果如下:此时i的值为:0此时j的值为:0此时j的值为:1跳出内层循环此时i的值为:1此时j的值为:0此时j的值为:1跳出内层循环此时i的值为:2此时j的值为:0此时j的值为:1跳出内层循环Python程序设计基础教程(微课版)厦门大学计算机科学与技术系林子雨3.4.1break跳转语句从执行结果可以看出,在内层循环中,每当执行到j的值为1时,程序就会跳出内层循环,转而执行外层循环的代码。如果想达到break语句不仅跳出单前所在循环,同时跳出外层循环的目的,可先定义布尔类型的变量来标志是否需要跳出外层循环,然后在内层循环、外层循环中分别使用两条break语句来实现。Python程序设计基础教程(微课版)厦门大学计算机科学与技术系林子雨3.4.1break跳转语句【例319】使用break语句跳出嵌套循环的内层循环和外层循环01#break3.py02exit_flag=False03#外层循环外层循环04for i in range(0,5):05#内层循环内层循环06 for j in range(0,3):07 print(i的值为的值为:%d,j的值为的值为:%d%(i,j)08 if j=1:09 exit_flag=True10#跳出内层循环跳出内层循环11 break12#如果如果exit_flag为为True,跳出外层循环,跳出外层循环13 if exit_flag:14 breakPython程序设计基础教程(微课版)厦门大学计算机科学与技术系林子雨3.4.1break跳转语句上面代码的执行结果如下:i的值为:0,j的值为:0i的值为:0,j的值为:1从执行结果可以看出,当执行到i的值为0并且j的值为1时,程序不仅跳出了内层循环,也跳出了外层循环,程序执行结束。Python程序设计基础教程(微课版)厦门大学计算机科学与技术系林子雨3.4.2continue跳转语句continue语句和break语句不同,break语句跳出整个循环,而continue语句跳出本次循环,也就是说,程序遇到continue语句后,会跳过当前循环的剩余语句,然后继续进行下一轮循环。在while语句中使用continue语句的形式如下:while表达式1:语句块if表达式2:continue在for语句中使用continue语句的形式如下:for迭代变量in对象:if表达式:continuePython程序设计基础教程(微课版)厦门大学计算机科学与技术系林子雨3.4.2continue跳转语句【例320】使用continue语句跳出for循环的某次循环01#continue.py02for i in range(5):03 if i=3:04 continue05 print(i的值是的值是:,i)上面代码的执行结果如下:i的值是:0i的值是:1i的值是:2i的值是:4从执行结果可以看出,当执行到i等于3时,程序跳出了该次循环,没有执行打印语句,继续执行下一次循环。Python程序设计基础教程(微课版)厦门大学计算机科学与技术系林子雨3.4.2continue跳转语句【例321】使用continue语句跳出while循环的某次循环01#continue1.py02i=003while i 100:07 break08 if x%2=0:09 continue10 sum+=x11print(sum)Python程序设计基础教程(微课版)厦门大学计算机科学与技术系林子雨3.4.3pass语句在Python中还有一个pass语句,表示空语句,它不做任何事情,一般起到占位作用。【例323】应用for循环输出110之间的偶数,在不是偶数时,应用pass语句占个位置,方面以后对不是偶数的数进行处理。01#pass.py02for in in rang(1,10):03 if i%2=0:04 print(i,end=)05 else:06 passPython程序设计基础教程(微课版)厦门大学计算机科学与技术系林子雨3.5综合实例【例324】利用蒙特卡罗方法计算圆周率。蒙特卡罗方法是一种计算方法。原理是通过大量随机样本去了解一个系统,进而得到所要计算的值。它非常强大和灵活,又相当简单易懂,很容易实现。对于许多问题来说,它往往是最简单的计算方法,有时甚至是唯一可行的方法。这里介绍一下使用蒙特卡罗方法计算圆周率的基本原理。如图38所示,假设有一个正方形的边长是2r,内部有一个相切的圆,圆的半径为r,则它们的面积之比是/4,即用圆的面积(r2)除以正方形的面积(4r2)。图38一个正方形和一个圆形Python程序设计基础教程(微课版)厦门大学计算机科学与技术系林子雨3.5综合实例现在,如图39所示,在这个正方形内部,随机产生10000个点(即10000个坐标对(x,y)),计算它们与中心点的距离,从而判断是否落在圆的内部。如果这些点均匀分布,那么圆内的点应该占到所有点的/4,因此,将这个比值乘以4,就是的值。图39蒙特卡罗方法计算圆周率的基本原理Python程序设计基础教程(微课版)厦门大学计算机科学与技术系林子雨3.5综合实例程序代码如下:01#pi.py02from random import random03n=1000004N=005for i in range(1,n):06 x,y=random(),random()#random()函数用于生成一个函数用于生成一个0到到1之间的随机之间的随机数数07 dis=pow(x*2+y*2,0.5)#pow(a,b)函数返回函数返回a的的b次幂次幂08 if dis=2)Python程序设计基础教程(微课版)厦门大学计算机科学与技术系林子雨3.5综合实例实现一个斐波那契数列的程序代码如下:01#fibonacci.py02i,j=0,103while i 10000:04 print(i)05 i,j=j,i+jPython程序设计基础教程(微课版)厦门大学计算机科学与技术系林子雨3.5综合实例【例326】求出100200之间的所有素数(素数只能被1和该数本身整除)。01#prime_all.py02import math03i=004for n in range(100,201):05 prime=106 k=int(math.sqrt(n)#sqrt(n)方法返回数字方法返回数字n的平方根的平方根07 for i in range(2,k+1):08 if n%i=0:09 prime=010 if prime=1:11 print(%d是素数是素数%n)Python程序设计基础教程(微课版)厦门大学计算机科学与技术系林子雨3.5综合实例【例327】打印出如下效果的实心三角形:*Python程序设计基础教程(微课版)厦门大学计算机科学与技术系林子雨3.5综合实例01#triangle1.py02num=int(input(请输入打印行数:请输入打印行数:)03for i in range(num):04 tab=False#控制是否换行控制是否换行05 for j in range(i+1):06 print(*,end=)#打印星号,不换行打印星号,不换行07 if j=i:08 tab=True#控制是否换行控制是否换行09 if tab:10 print(n,end=)#换行换行Python程序设计基础教程(微课版)厦门大学计算机科学与技术系林子雨3.5综合实例【例328】打印出如下效果的空心三角形:*Python程序设计基础教程(微课版)厦门大学计算机科学与技术系林子雨3.5综合实例01#triangle2.py02num=int(input(请输入打印行数:请输入打印行数:)03for i in range(num):04 tab=False#控制是否换行控制是否换行05 for j in range(i+1):06#判断是否最后一行判断是否最后一行07 if i!=num-1:08#循环完成,修改换行标识符循环完成,修改换行标识符09 if j=i:10 tab=True11#判断打印空格还是判断打印空格还是*12 if(i=j or j=0):13 print(*,end=)#打印星号,不换行打印星号,不换行14 else:15 print(,end=)#打印空格,不换行打印空格,不换行16#最后一行,全部打印星号最后一行,全部打印星号17 else:18 print(*,end=)#打印星号,不换行打印星号,不换行19 if tab:20 print(n,end=)#换行换行Python程序设计基础教程(微课版)厦门大学计算机科学与技术系林子雨3.5综合实例【例329】将一张面值为100元的人民币等值换成10元、5元和1元的零钞,有哪些组合。01#money.py02for i in range(100/1+1):03 for j in range(100-i*1)/5+1):04 for k in range(100-i*1-j*5)/10+1):05 if i*1+j*5+k*10=100:06 print(1元元%d张,张,5元元%d张,张,10元元%d张张%(i,j,k)Python程序设计基础教程(微课版)厦门大学计算机科学与技术系林子雨3.5综合实例【例330】求100以内能被3和7整除的数。01#devide.py02for i in range(1,101):03 if i%3=0 and i%7=0:04 print(i)Python程序设计基础教程(微课版)厦门大学计算机科学与技术系林子雨附录A:主讲教师林子雨简介单位:厦门大学计算机科学与技术系Email:个人网页:http:/ of Computer Science,Xiamen University,2022

    注意事项

    本文(Python编程基础-第3章-程序控制结构(2022年1月版本).ppt)为本站会员(创****公)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开