深入浅出Python编程课件-程序的控制结构_第1页
深入浅出Python编程课件-程序的控制结构_第2页
深入浅出Python编程课件-程序的控制结构_第3页
深入浅出Python编程课件-程序的控制结构_第4页
深入浅出Python编程课件-程序的控制结构_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

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

文档简介

深入浅出Python编程

程序的控制结构)循环:使用海龟画五角星

按五角星的标准制法绘制将五角星置于矩形背景中央显示辅助线:横线8、竖线12显示五角星的外接圆五角星连笔画法在非Window平台下正常显示Outcome单元目标/Objectives理解迭代与循环程序设计

理解布尔值和比较运算

熟练使用for/in循环语句

熟练使用while循环语句

理解并熟练使用嵌套循环⑥具有家国情怀和民族自豪感内容及计划/Agenda&Schedule6ClassHoursDetails<00:10>回顾&成果介绍<01:05>循环画矩形和辅助线<02:00>循环画五角星<00:40>嵌套循语句<00:05>课堂小结Total:6hours(4hPractice)01五角星pentagram1.任务分析目标解构矩形:背景是一个长高比为3:2的矩形,且带均分辅助线星形:标准五角星,一角朝向正北圆形:画五角星外圆模式识别画矩形:重复长、宽两次画辅助线:横线7次、竖线11次画五角星:两边夹一角、重复5次1.任务分析模式归纳画矩形和画辅助线都是简单的线条重复连笔画在macOS下有问题;此处采用“角—线”法5个角、10条边,重复2边夹1角算法设计12×8直接采用简单循环语句画星过程详见下述1.任务分析五角星的每个角都为360边长:画完边线和及其夹角/1080后旋转1440,完成一次迭代以此类推,再重复执行4次即完成五角星的绘制36014407201260180

2.任务准备—用到的海龟绘图函数turtle.setup():设置窗口大小turtle.screensize():设置画布大小turtle.goto()turtle.xcor()turtle.ycor()turtle.home()turtle.setheading(to_angle)窗口画布02使用循环和迭代画背景图形Iterate1.认识迭代和循环什么是迭代(Iterator)从集合的第一个元素开始访问,直到所有的元素被访问完结束Python遍历容器类型只需要是可迭代对象(IteratableObject)可迭代对象与迭代器的性能是一样的,它们都是惰性求值range()序列一个可迭代对象,用于生成一系列连续整数range([start,]stop,[step])1.认识迭代和循环成员运算in用于成员测试判断一个元素是否在某个序列中、或者说是否存在某个值for-loopfor-loop是针对可迭代对象提供的一种循环控制语句语法格式:2.使用for循环画矩形及竖辅助线—

设置画布同步赋值创建矩形长和宽变量:600×400设置光标形状、海龟画图速度设置窗口大小:650×450设置画布大小:610×4102.使用for循环画矩形及竖辅助线—

画矩形画图准备工作将海龟移动到左上角设置海龟朝向设置画笔和填充颜色2.使用for循环画矩形及竖辅助线—

画矩形画矩形2.使用for循环画矩形及竖辅助线—

画竖辅助线for-loop循环画竖辅助线forninrange(1,12)每次循环调整x轴的值,增加1个单元量/unit_len2.使用for循环画矩形及竖辅助线—

再谈for/rangefor-in/range()

获得逆序的序列,可以使用reversed()函数每次循环不会影响迭代变量值的变化3.使用while循环画矩形横辅助线—

认识布尔布尔值(bool):Ture&FalseFalse和True是Python内置的常量函数bool()转换成布尔值常量None表示空,没有值,但不等于0Python中的所有数据类型都自带布尔值False:None、0(任何数值0,0、0.0等)、空(空字符串、空列表、空字典、range(0)等)True:其余均为真,也就是13.使用while循环画矩形横辅助线—

比较/关系运算符比较运算符(comparisonoperations)比较的结果是一个布尔值字符串序列比较将采用字母表(lexicographicalordering)顺序逐一进行比较3.使用while循环画矩形横辅助线—

画横辅助线语法格式3.使用while循环画矩形横辅助线—

画横辅助线while循环画横辅助线画12条竖线画8条横线03使用循环语句画五角星pentagram1.画五角星的外接圆矩形中心为圆心;3倍单元长度为半径/unit_len*32.使用for语句画五角星—

画图准备画笔、填充均为黄色海龟朝向正南/270°,再偏转18°2.使用for语句画五角星—

画五角星两边夹一角;重复5次就是一个五角星i=02.使用for语句画五角星—

画五角星i=1i=3i=2i=4画五角星过程:2次画线、2次转角04嵌套循环NestedLoop1.for循环嵌套一个循环语句的循环体内包含另一个完整的循环结构for-loop语句和while语句可以互相嵌套、自由组合2.pass语句空语句可以将其看成是一个占位符打印乘法表扩展:画国旗,嵌套循环重复画4颗小星课堂小结画五角星的过程中,有许多地方用到了循环、迭代的思想:①画背景矩形;②画11条竖辅助线;③画7横辅助线;④画五角星:2次画线、2次转角,这些地方都可以用for或while循环语句来实现。for/in循环一般用户遍历集合进行循环,可以使用range()函数得到一个升序的整数序列。Python中的所有数据类型都自带布尔值,任何一个数据对象要么是True,要么是False。None、0(任何数值0,0、0.0等)、空(空字符串、空列表、空字典、range(0)等)三种情况下布尔值为False,其余均为True也就是1。循环的嵌套:无论是for/in还是while循环,都可以相互嵌套。提问&解答深入浅出Python编程

程序的控制结构)分支:凯撒密码加解密信息

打印可见字符ASCII(AmericanStandardCodeforInformationInterchange,美国信息互换标准代码)表用凯撒密码加解密两句诗词信息Outcome单元目标/Objectives理解分支程序设计结构

掌握布尔运算和布尔表达式

熟练使用if单分支/双分支和多分支程序设计

掌握条件表达式的使用

掌握嵌套分支程序设计⑥

具有信息安全与保密意识内容及计划/Agenda&Schedule6ClassHoursDetails<00:10>回顾&成果目标<00:25>布尔运算<01:20>分支程序—打印ASCII码<02:00>分支的嵌套—恺撒密码加解密<00:05>课堂小结Total:6hours(4hPractice)01ASCII表ASCII1.成果目标印输出一张可见字符的ASCII表,也即ASCII码值在32到127的可见字符的标准ASCII表同时,用二、八、十和十六进制等4种进制表示编码值两列输出2.实现概述任务分析代码32-127的ASCII称为可打印字符,表示字母、数字、标点符号和几个其它符号32表示空格、127表示删除命令DEL任务准备chr(i):返回Unicode码为整数i的字符ord(c):返回一个字符所对应Unicode码数值2.实现概述进制表示与转换十进制:int(‘64’)=64,float(64)=64.0二进制:bin(64)=‘0b1000000’八进制:oct(64)=‘0o100’十六进制:hex(64)=‘0x40'案例已知十六进制数0X4DC0对应的Unicode编码是中国古老的《易经》六十四卦的第1卦,请打印输出第51卦(震卦)对应的Unicode编码的二进制、十进制、八进制和十六进制数。02分支程序结构打印ASCII表Switch1.认识布尔运算逻辑/布尔运算符(BooleanOperations)and:有假为假,全真为真or:有真为真,全假为假短路计算2.使用单分支语句结束循环语法循环终止breakcontinue2.使用单分支语句结束循环语法循环终止breakcontinue3.使用双分支语句打印表头语法4.使用多分支结构对齐表格语法4.使用多分支结构对齐表格语法打印ASCII码表03恺撒密码加解密Caesarcipher1.成果目标恺撒密码(CaesarCipher)一种替换加密(shiftcipher)的技术明文中的所有字母都在字母表上向后(或向前)按照一个固定数目(key)进行偏移后被替换成密文加解密信息欲穷千里目,更上一层楼Youwillenjoygrandersight,byclimbingtoagreaterheight.2.实现概述什么是加解密在密码学中,从明文到密文的过程是加密算法,反过来就是解密算法,二者合称为密码算法。明文(Plaintext):你可以正常阅读的原始消息。密文(Ciphertext):你无法正常阅读的秘密消息。密钥(Key):用于加密或解密算法的设置参数。恺撒密码和英格玛密码机:将平凡的移位替换加密发扬得不平凡。2.实现概述恺撒密码加密:E(x)=(x+n)mod26解密:D(x)=(x-n)mod26密钥为3时的恺撒加密字符的对应关系图Key=304分支嵌套程序结构加解密信息Nestswitch1.嵌套分支程序结构—恺撒加密2.分支语句简写—条件表达式条件表达式双分支程序结构的一种简写形式语法:v=v1ifconditionelsev23.嵌套分支程序结构—恺撒解密2.分支语句简写—条件表达式使用条件表达式简化解密代码使用恺撒密码加解密信息扩展:将百分制成绩按等第制打印4.用布尔表达式减少分支嵌套【百鸡百钱】中国古代数学家张丘建在他的《算经》中提出了一个著名的“百钱买百鸡问题”:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,问翁、母、雏各几何?编程实现将所有可能的方案输出在屏幕上。4.用布尔表达式减少分支嵌套【百鸡百钱】中国古代数学家张丘建在他的《算经》中提出

温馨提示

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

评论

0/150

提交评论