收藏 分销(赏)

【已按照课时分段】零基础学python全套课后题.pdf

上传人:曲**** 文档编号:225123 上传时间:2023-03-08 格式:PDF 页数:253 大小:8.77MB
下载 相关 举报
【已按照课时分段】零基础学python全套课后题.pdf_第1页
第1页 / 共253页
【已按照课时分段】零基础学python全套课后题.pdf_第2页
第2页 / 共253页
【已按照课时分段】零基础学python全套课后题.pdf_第3页
第3页 / 共253页
【已按照课时分段】零基础学python全套课后题.pdf_第4页
第4页 / 共253页
【已按照课时分段】零基础学python全套课后题.pdf_第5页
第5页 / 共253页
点击查看更多>>
资源描述

1、第1课0.Python是什么类型的语言?Python是脚本语言脚本语言(Scripting la ngua ge)是电脑编程语言,因此也能让开发者藉以编写出让 电脑听命行事的程序。以简单的方式快速完成某些复杂的事情通常是创造脚本语 言的重要原则,基于这项原则,使得脚本语言通常比C语言、C+语言或Ja va 之类的系统编程语言要简单容易。也让脚本语言另有一些属于脚本语言的特性:语法和结构通常比较简单 学习和使用通常比较简单 通常以容易修改程序的解释作为运行方式,而不需要编译 程序的开发产能优于运行性能一个脚本可以使得本来要用键盘进行的相互式操作自动化。一个Shell脚本主要 由原本需要在命令行输

2、入的命令组成,或在一个文本编辑器中,用户可以使用脚 本来把一些常用的操作组合成一组串行。主要用来书写这种脚本的语言叫做脚本 语言。很多脚本语言实际上已经超过简单的用户命令串行的指令,还可以编写更 复杂的程序。1.ID LE是什么?IDLE是一个Python Shell,shell的意思就是外壳,基本上来说,就是一个通过 键入文本与程庠交互的途径!像我们Windows那个cmd窗口,像Unux那个黑 乎乎的命令窗口,他们都是shell,利用他们,我们就可以给操作系统下达命令。同样的,我们可以利用IDLE这个shell与Python进行互动。2.print()的作用是什么?print()会在输出窗

3、口中显示一些文本(在这一讲中,输出窗口就是IDLE shell 窗口)。3.Python中表示乘法的符号是什么?Python中的乘号是*(星号)。4,为什么 print(I love *5)可以正常执行,但 print(I love +5)却报错?在Python中不能把两个完全不同的东西加在一起,比如说数字和文本,正是这 个原因,print(I lovef +5)才会报错。这就像是在说五只小甲 鱼加上苍井空会是多少?一样没有多大意义,结果可能是五,可能是六,也可 能是八!不过乘以一个整数来翻倍就具有一定的意义了,前边的例子就是将I love f 这个字符串打印五次。5.如果我需要在一个字符串中

4、嵌入一个双引号,正确的做法是?你有两个选择:可以利用反斜杠()对双引号转义:,或者用单引号引起这 个字符串。例如:I|ove f 。6.为什么我们要使用Python3?Python2到底有什么问题?看起来很多程序 员依然都在使用Python2?确实还有相当多的程序员在使用Python2,不过Python3才是Python发展的 未来,就像X P和WIN7 一样。在零基础入门学习Python的系列教程准备 中,小甲鱼发觉Python3中的新特性确实很妙,很值得进行深入学习!你也不 用担心,如果你了解了 Python3,Python2的代码阅读对于你来说根本不成问 题!第2课0.什么是BIF?B

5、IF就是B uilt-in Functions,内置函数。为了方便程序员快速编写脚本程序(脚 本就是要编程速度快快快!),Python提供了非常丰富的内置函数,我们 只需要直接调用即可,例如print()的功能是打印到屏幕“,inputQ的作用是接 收用户输入(注:Python3用input()取代了 Python2的ra w_input(),用法 如有不懂请看视频讲解)。太多B IF学不过来怎么办?看不懂英文说明怎么办?Python3的资料太少怎么 办?没事,有了小甲鱼,妈妈再也不用担心我的学习了!L用课堂上小甲鱼教的方法数一数Python3提供了多少个BIF?在Python或IDLE中,输

6、入dir(_builtins_)可以看到Python提供的内置 方法列表(注意,builtins前后是两个下划线哦)其中小写的就是B IF。如果想 具体查看某个B IF的功能,比如inputQ,可以在shell中输入help(input),就会得到这个B IF的功能描述。哦,答案应该是68个,不信你自己数数看,你们肯定没有自己完成作业就来看答案!哼 T_T2.在 Python 看来:FishC 和fishc 一样吗?不一样,因为Python是一个敏感的小女孩,所以不要试图欺骗她,对Python 来说,f ishc和FishC是完全不同的两个名字,所以编程的时候一定要当心。不 过Python会帮

7、助解决可能因此出现的问题,例如只有当标识符已经赋值后(还 记得吗,小甲鱼在课堂中说过Python的变量是不用先声明的)才能在代码中使 用,未赋值的标识符直接使用会导致运行时错误,所以你很快就可以根据经验发 现此问题。3.在小甲鱼看来,Python中什么是最重要的?你赞同吗?缩进!在小甲鱼看来,缩进是Python的灵魂,缩进的严格要求使得Python的 代码显得非常精简并且有层次(小甲鱼阅读过很多大牛的代码,那个乱C语 言不是有国际乱码大赛嘛)。所以在Python里对待缩进代码要十分小心,如果没有正确地缩进,代码所做的 事情可能和你的期望相去甚远(就像C语言里边括号打错了位置)。如果在正确的位置

8、输入冒号:,IDLE会自动将下一行缩进!4.这节课的例子中出现了”=和”他们表示不同的含义,你在编程的过程中会不小心把”二二“误写成=“吗?有没有好的办法可以解决这个问题呢?C语言的话,如果if(c=1)写成if(c=1),程序就完全不按程序员原本的 目的去执行,但在Python这里,不好意思,行不通,语法错误!Python不允 许if条件中赋值,所以if c=1:会报错!小甲鱼觉得这种做法可以非常有效的防止程序员因为打炮、熬夜等问题导致粗心 的B UG,并且这类B UG杀伤力都巨大!5.你听说过“拼接“这个词吗?在一些编程语言,我们可以将两个字符串相加在一起,如:T+Love+FishC 会

9、得到ILoveFishC,在Python里,这种做法叫做拼接字符串。第3课0.编写程序:hello.py,要求用户输入姓名并打印“你好,姓名!”1.name=input(请输入您的姓名:)2.pr int(你好,+name+!)复制代码1.编写程序:calc-py要求用户输入工到100之间数字并判断,输入符合要求 打印“你妹好漂亮”,不符合要求则打印“你大爷好丑”1.t emp=input(请输入1到100之间的数字:)2.num=int(t emp)3.if 1=num s t r=r*C:Pr o g r am Fil esFis hCGo o d,复制代码第4课测试题:0.请问以下代码会

10、打印多少次我爱鱼C!1.whil e C:2.pr int(我爱鱼 C!,)复制代码1.请问以下代码会打印多少次我爱鱼C!1.i=102.whil e i:3.pr int(我爱鱼 C!,)4.i=i-1复制代码2.请写出与10 v cost,如果t y pe(t emp)返回结果一致说明 输入是整数。3.whil e t y pe(t emp)!=t y pe(l):4.pr int(抱歉,输入不合法,end=)5.t emp=i叩ut(请输入一个整数:)复制代码或者可能这样:1.t emp=input(不妨猜一下小甲鱼现在心里想的是哪个数字:)2.#no t操作符的作用是将布尔类型的结果翻

11、转:即取反的意思,no t Tr ue=Fl as e3.whil e no t is ins t anc e(t emp,int):4.pr int(抱歉,输入不合法,end=)5.t emp=input(请输入一个整数:)复制代码以上方法的思路是正确的,不过似乎忽略了一点儿:就是input。的返回值始终是字符串,所以type(temp)永远是(cla ss str!其实有蛮多的做法可以实现的,不过就目前我们学习过的内容来看,还不足够。所以,在让大家动手完成这道题之前,小甲鱼介绍一点新东西给大家!s为字符串s.isa lnumO 所有字符都是数字或者字母,为真返回Ture,否则返回Fa ls

12、e。s.isa lpha O 所有字符都是字母,为真返回Ture,否则返回Fa lse。s.isdigitO 所有字符都是数字,为真返回Ture,否则返回Fa lse。s.islower()所有字符都是小写,为真返回Ture,否则返回Fa lse。s.isupper()所有字符都是大写,为真返回Ture,否则返回Fa lse。s.istitleO 所有单词都是首字母大写,为真返回Ture,否则返回Fa lse。s.isspa ceO 所有字符都是空白字符,为真返回Ture,否则返回Fa lse。例如:s=I LOVE FISHC,s.isupper()True好了,文字教程就到这里,大家赶紧趁

13、热打铁,改造我们的小游戏吧!1.写一个程序,判断给定年份是否为闰年。(注意:请使用已学过的B IF进 行灵活运用)这样定义闰年的:能被4整除但不能被100整除,或者能被400整除都是闰年。2.请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方 式!测试题答案:0.在Python中,int表示整型,那你还记得bool、f loa t和str分别表示 什么吗?bool表示布尔类型f loa t表示浮点型str表示字符串1.你知道为什么布尔类型(bool)的True和Fa lse分别用1和0来代替 吗?你可能听说过计算机是很“笨”的,究其根本是因为它只认识二进制数,所以所 有的编程语

14、言最终都会转换成简单的二进制序列给CPU按照一定的规则解析。由于二进制只有两个数:0和1,因此用0和1来表示Fa lse和True再适 合不过了,因为不用浪费资源在转换的过程上!2.使用int()将小数转换为整数,结果是向上取整还是向下取整呢?我们可爱的小甲鱼说了,小数取整会采用比较暴力的截断方式,即向下取整。(注:5.5向上取整为6,向下取整为5)3.我 们人类思维是习惯于“四舍五入”法,你有什么办法使得int()按照“四舍五入”的方式取整吗?int()固然没那么“聪明”,但机器是死的,鱼油是活的!5.4“四舍五入”结果为:5,int(5.4+0.5)=55.6“四舍五入”结果为:6,int

15、(5.6+0.5)=6大家看明白了吗?4.取得一个变量的类型,视频中介绍可以使用type()和isinsta nceO,你 更倾向于使用哪个?建议使用isinsta nceO,因为它的返回结果比较直接,另外type()其实并没 有你想象的那么简单,我们后边会讲到。5.Python3可以给变量命名中文名,知道为什么吗?Pyhton3源码文件默认使用utf-8编码(支持中文),这就使得以下代码是合法 的:小甲鱼二我爱你 print(小甲鱼)我爱你6.【该题针对零基础的鱼油】你觉得这个系列教学有难度吗?如果有不懂的问题,请在此处提问:http:bbs.f orumT73T.html另外需要小甲鱼在视

16、频讲解的方面做哪方面改进请回帖告之!动动手答案:0.针对视频中小甲鱼提到的小漏洞,再次改进我们的小游戏:当用户输入错误 类型的时候,及时提醒用户重新输入,防止程序崩溃。需要注意的地方在代码中已经注释!1.impo r t r ando m2.t imes=33.s ec r et=r ando m.r andint(110)4.pr int(-我爱鱼C工作室-)5.g ues s=06.pr int(不妨猜一下小甲鱼现在心里想的是哪个数字:,end=)7.whil e(g ues s!=s ec r et)and(t imes 0):8.t emp=input()9.whil e no t t

17、 emp.is dig it():10.t emp=input(抱歉,您的输入有误,请输入一个整数:)11.g ues s=int(t emp)12.t imes=t imes-1#用户每输入一次,可用机会就-113.if g ues s=s ec r et:14.pr int(我草,你是小甲鱼心里的蛔虫吗?!)15.pr int(哼,猜中了也没有奖励!)16.el s e:17.if g ues s s ec r et:18.pr int(哥,大了大了-)19.el s e:20.pr int(嘿,小了,小了-)21.if t imes 0:22.pr int(再试一次吧:,end=)23.

18、el s e:24.pr int(机会用光咯T_T)25.pr int(游戏结束,不玩啦八_八)复制代码1.写一个程序,判断给定年份是否为闰年。1.t emp=input(请输入一个年份:,)2.whil e no t t emp.is d ig it():3.t emp=i叩ut(抱歉,您的输入有误,请输入一个整数:)4.5.y ear=int(t emp)6.if y ear/400=int(y ear/400):7.pr int(t emp+是闰年!)8.el s e:9.if(y ear/4=int(y ear/4)and(y ear/100!=int(y ear/100):10.pr

19、 int(t emp+是闰年!)11.el s e:12.pr int(t emp+不是闰年!)复制代码2.尝试写代码实现以下截图功能:3.请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方 式!回复您的答案即可查看参考答案!测试题答案:0.请问以下代码会打印多少次我爱鱼C!死循环,会一直打印我爱鱼C!(嗯,这也算是永远支持鱼C的方法之一),直到崩溃或者用户按下快捷键CTRL+C(强制结束)造成死循环的原因是while后边的条件永远为真(True),在Python看来,只 有以下内容会被看作假(注意冒号括号里边啥都没有,连空格都不要有!):Fa lse None 0 ()其他一

20、切都被解释为真!不妨试试:1.whil e 2.pr int(进入循环,)3.pr int(,退出循环,)复制代码或者1.whil e Fl as e:2.pr int(进入循环,)3.pr int(退出循环,)复制代码或者1.whil e 0:2.pr int(进入循环,)3.pr int(退出循环,)复制代码1.请问以下代码会打印多少次“我爱鱼C!”会打印10次。2.请写出与10 cost 50等价的表达式(10 cost)a nd(cost print(I love f ishcprintCvery much!)4.Python3中,一个语句可以分成多行书写吗?可以,一行过长的语句可以使

21、用反斜杠或者括号分解成几行,不妨试试:1.3 4 and 2.1 (3 4 and2.1 0):11.t emp=input()12.g ues s=int(t emp)13.t imes=t imes-1#用户每输入一次,可用机会就-114.if g ues s=s ec r et:15.pr int(我草,你是小甲鱼心里的蛔虫吗?!)16.pr int(哼,猜中了也没有奖励!)17.el s e:18.if g ues s s ec r et:19.pr int(哥,大了大了)20.el s e:21.pr int(嘿,小了,小了-)22.if t imes 0:23.pr int(再试一

22、次吧:,end=)24.el s e:25.pr int(机会用光咯T_T)26.pr int(游戏结束,不玩啦A_A)复制代码1.尝试写代码实现以下截图功能:1.t emp=input(请输入一个整数:)2.number=int(t emp)3.i=14.whil e number:5.pr int(i)6.i=i+17.number=number-1复制代码2,尝试写代码实现以下截图功能:1.t emp=input(请输入一个整数:)2.number=int(t emp)3.whil e number:4.i=number-15.whil e i:6.pr int(,end=)7.i=i-

23、18.j=number9.whil e j:10.pr int(*,end=)11.j=j-112.pr int()13.number=number-1复制代码第6课测试题:0.Python的f loor除法现在使用“”实现,那3.0/2.0您目测会显 示什么内容呢?1.a b c事实上是等于?2.不使用IDLE,你可以轻松说出5*-2的值吗?3.如何简单判断一个数是奇数还是偶数?4.请用最快速度说出答案:not 1 or 0 a nd 1 or 3 a nd 4 or 5 a nd 6 or 7 a nd 8 a nd 95.还记得我们上节课那个求闰年的作业吗?如果还没有学到“求余”操作,还

24、 记得用什么方法可以“委曲求全”代替“”的功能呢?动动手:0.请写一个程序打印出0100所有的奇数。1.我们说过现在的Python可以计算很大很大的数据,但是.真正的大数据计算可是要靠刚刚的硬件滴,不妨写一个小代码,让你的计算机为之崩溃?2.爱因斯坦曾出过这样一道有趣的数学题:有一个长阶梯,若每步上2阶,最后剩 1阶;若每步上3阶,最后剩2阶;若每步上5阶,最后剩4阶;若每步上6阶,最后剩5阶;只有每步上7阶,最后刚好一阶也不剩。(小甲鱼温馨提示:步子太大真的容易扯着蛋)题目:请编程求解该阶梯至少有多少阶?3.请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方 式!第7课测试题

25、答案:0.Python的f loor除法现在使用“”实现,那3.0/2.0您目测会显 示什么内容呢?如果回答是1.5那么很遗憾,您受到C语言的影响比较大,Python这里会义 无反顾地执行f loor除法原则,答案是:1.01.a b c事实上是等于?(a b)a nd(b a nd or我们按照优先级给它们加上括号:(not 1)or(0 a nd 1)or(3 a nd 4)or(5 a nd6)or(7 a nd 8 a nd 9)=0 or 0 or 4 or 6 or 9=4为啥是4?大家还记得第四讲作业提到的“短路逻辑”吗?3 a nd 4=4,而3 0r 4二二3。所以答案是:4

26、温馨提示:为了更好的表达你的程序,小甲鱼再次呼吁有些括号还是不能省下的,毕竟不是所有程序员都跟你一样都将优先级烂透于心的。5.还记得我们上节课那个求闰年的作业吗?如果还没有学到“求余”操作,还 记得用什么方法可以“委曲求全”代替“”的功能呢?因为上节课我们还没有教大家“求余”的操作,所以小甲鱼使用了“if yea r/400=int(yea r/400)这样的方式来“委曲求全”。动动手答案:0,请写一个程序打印出0100所有的奇数。1.i=02.whil e i=100:3.if i%2!=0:4.pr int(i,end=)5.i+=16.el s e:7.i+=1复制代码1.我们说过现在的

27、Python可以计算很大很大的数据,但是真正的大数据 计算可是要靠刚刚的硬件滴,不妨写一个小代码,让你的计算机为之崩溃?print(2*2*32)#一般很多机子都会在一会儿之后:Memory Overf low,内存不够用。#设计到幕操作,结果都是惊人滴。2.题目:请编程求解该阶梯至少有多少阶?1.x=72.i=13.fl ag=04.5.whil e i=100:6.if(x%2=1)and(x%3=2)and(x%5=4)and(x%6=5):7.fl ag=18.el s e:9.x=7*(i+1)#根据题意,x一定是7的整数倍,所以每次乘以710.i+=111.12.if fl ag=

28、1:13.pr int(阶梯数是:,,x)14.el s e:15.pr int在程序限定的范围内找不到答案!,)复制代码第8课0.if not(money 1 00):上边这行代码相当于?1.a ssert的作用是什么?2.假设有x=1,y=2,z=3,请问如何快速将三个变量的值互相交换?3.猜猜(x y a nd x or y)0实现什么样的功能?4.你听说过成员资格运算符吗?动动手:0.视频中小甲鱼使用if elif else在大多数情况下效率要比全部使用if要 高,但根据一般的统计规律,一个班的成绩一般服从正态分布,也就是说平均 成绩一般集中在7080分之间,因此根据统计规律,我们还可

29、以改进下程序以 提高效率。题目备忘:按照100分制,90分以上成绩为A,80到90为B,60到80为C,60 以下为D,写一个程序,当用户输入分数,自动转换为AB CD的形式打印。1.Python的作者在很长一段时间不肯加入三元操作符就是怕跟C语言一样搞 出国际乱码大赛,蛋疼的复杂度让初学者望而生畏,不过,如果你一旦搞清楚 了三元操作符的使用技巧,或许一些比较复杂的问题反而迎刃而解。请将以下代码修改为三元操作符实现:1.X,y,z=6,5,42.if x y:3.s mal l=x4.if z s mal l:5.s mal l=z6.el if y z:7.s mal l=y8.el s e

30、:9.s mal l=z复制代码2.请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方 式!回复您的答案即可查看参考答案!测试题答案:0.if not(money=100:1.a ssert的作用是什么?a ssert这个关键字我们称之为“断言”,当这个关键字后边的条件为假的时候,程序自动崩溃并抛出AssertionError的异常。什么情况下我们会需要这样的代码呢?当我们在测试程序的时候就很好用,因为 与其让错误的条件导致程序今后莫名其妙地崩溃,不如在错误条件出现的那一瞬 间我们实现“自爆”。一般来说我们可以用Ta再程序中置入检查点,当需要确保程序中的某个条件一 定为真才能让

31、程序正常工作的话,a ssert关键字就非常有用了。2.假设有x=1,y=2,z=3,请问如何快速将三个变量的值互相交换?x,y,z=z,y,x3.猜猜(x name=小甲鱼2.鱼,in name3.Tr ue4.肥鱼in name5.Fal s e复制代码当下节课我们讲解for语句的时候,你看到in会不会就有了更深入的理解?!动动手答案:0.视频中小甲鱼使用ifelifelse在大多数情况下效率要比全部使用if要高,但根据一般的统计规律,一个班的成绩一般服从正态分布,也就是说平均成绩 一般集中在70-80分之间,因此根据统计规律,我们还可以改进下程序以提 高效率。1.s c o r e=in

32、t(input(请输入一个分数:)2.if 80 s c o r e=60:3.pr int(C)4.el if 90 s c o r e=80:5.pr int(B)6.el if 60 s c o r e=0:7.pr int(D)8.el if 100=s c o r e=90:9.pr int(A)10.el s e:11.pr int(,输入错误!,)复制代码1.Python的作者在很长一段时间不肯加入三元操作符就是怕跟C语言一样搞 出国际乱码大赛,蛋疼的复杂度让初学者望而生畏,不过,如果你一旦搞清楚 了三元操作符的使用技巧,或许一些比较复杂的问题反而迎刃而解。1.s mal l=x

33、 if(x y and x z)el s e(y if y z el s e z)复制代码第9课0.下面的循环会打印多少次“Love FishC?1.fo r i in r ang e(0?10,2):2.pr int(I Lo ve Fis hC)复制代码1.下面的循环会打印多少次“Love FishC?1.fo r i in 5:2.pr int(I Lo ve Fis hC)复制代码2.回顾一下brea k和continue在循环中起到的作用?3.请谈下你对列表的理解?4.请问ra nge(lO)生成哪些数?5.目测以下程序会打印什么?1.whil e Tr ue:2.whil e Tr

34、 ue:3.br eak4.pr int(l)5.pr int(2)6.br eak7.pr int(3)复制代码6.什么情况下我们要使循环永远为真?7.【学会提高代码的效率】你的觉得以下代码效率方面怎样?有没有办法可以 大幅度改进(仍然使用while)?1.i=02.s t r ing=1ILo veFis hC.c o m13.whil e i l en(s t r ing):4.pr int(i)5.i+=1复制代码动动手:细节决定成败,看答案前记得自己先敲代码!0.设计一个验证用户密码程序,用户只有三次机会输入错误,不过如果用户输 入的内容中包含“*”则不计算在内。程序演示如图:1,编

35、写一个程序,求100-999之间的所有水仙花数。如果一个3位数等于其各位数字的立方和,则称这个数为水仙花数。例如:153=1A3+5A3+3人3,因此153就是一个水仙花数。2.三色球问题有红、黄、蓝三种颜色的求,其中红球3个,黄球3个,绿球6个。先将这 12个球混合放在一个盒子中,从中任意摸出8个球,编程计算摸出球的各种 颜色搭配。3.请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方 式!回复您的答案即可查看参考答案!测试题答案:0.下面的循环会打印多少次“I Love FishC?1.fo r i in r ang e(0?10,2):2.pr int(I Lo ve F

36、is hC)复制代码5次,因为从0开始,到10结束,步进为2o1.下面的循环会打印多少次1 Love FishC?1.fo r i in 5:2.pr int(工 Lo ve Fis hC)复制代码会报错,上节课的课后习题我们提到了 in是成员资格运算符,而不是像C语言那样去使用f or语法。Python的f or更像脚本语言的f orea cho2.回顾一下break和continue在循环中起到的作用brea k语句的作用是终止当前循环,跳出循环体。continue语句的作用是终止本轮循环并开始下一轮循环(这里要注意的是:在开 始下一轮循环之前,会先测试循环条件)。3.请谈下你对列表的理解

37、嗯,有些知识点需要自己总结才能加固,下节课小甲鱼将跟大家畅谈一个打了激 素的数组:列表,不容错过哦八一八4.请问range(lO)生成哪些数?会生成 ra nge(0,10),list(ra nge(0,10)转换成列表是:0,1,2,3,4,5,6,7,8,9,注意不包含10哦。5.目测以下程序会打印什么?1.whil e Tr ue:2.whil e Tr ue:3.br eak4.pr int(l)5.pr int(2)6.br eak7.pr int(3)复制代码会打印:23因为brea k只能跳出一层循环,记住咯!6.什么情况下我们要使循环永远为真?while Ture:循环体同样用

38、于游戏实现,因为游戏只要运行着,就需要时刻接收用户输入,因此使用 永远为真确保游戏在线。操作系统也是同样的道理,时刻待命,操作系统永远 为真的这个循环叫做消息循环。另外,许多通讯服务器的客户端/服务器系统也 是通过这样的原理来工作的。所以永远为真虽然是死循环,但不一定是坏事,再说了,我们可以随时用 brea k来跳出循环!7.【学会提高代码的效率】你的觉得以下代码效率方面怎样?有没有办法可以 大幅度改进(仍然使用while)?1.i=02.s t r ing=ILo veFis hC.c o m3.whil e i l en(s t r ing):4.pr int(i)5.i+=1复制代码这段

39、代码之所以效率比较低是因为每次循环都需要调用一次len()函数(我们 还没有学到函数的概念,小甲鱼这里为零基础的朋友形象的解释下:就像你打游 戏打得正HIGH的时候,老妈让你去买盐你有两种选择,一次买一包,一天 去买五次,或者一次性买五包回来,老妈要就直接给她。)1.i=02.s t r ing=ILo veFis hC.c o m3.l eng t h=l en(s t r ing)4.whil e i 4):4.fo r g r een in r ang e(2 7):5.if r ed+y el l o w+g r een=8:#注意,下边不是字符串拼接,因此不用“+”哦6.7.pr i

40、nt(r ed,t,y el l o w,t,g r een)复制代码注释:ra nge(2,7)是产生2,3,4,5,65个数,绿球不能是1个,因为如果绿球 是1个的话,红球+黄球需要有7个才能符合题意,而红球和黄球每种只有3 个,因此是ra nge(2,7)第10课测试题:o.列表都可以存放一些什么东西?i.向列表增加元素有哪些方法?2.a ppend()方法和extend()方法都是向列表的末尾增加元素,请问他们有什 么区别?3.member.dppend(竹林小溪丁Cra zy 迷恋口)和 member.extend(竹林小溪 Cra zy迷恋口)实现的效果一样吗?4.有列表na me

41、=F;T,h,C,如果小甲鱼想要在元素T和h之间插入 元素s,应该使用什么方法来插入?动动手:0.自己动手试试看,并分析在这种情况下,向列表添加数据应当采用哪种方法 比较好?假设给定以下列表:member=小甲鱼丁黑夜丁迷途丁怡静丁秋舞斜阳 要求将列表修改为:member=小甲鱼88,黑夜,90/迷途85,怡静,90,秋舞斜阳88方法一:使用insert()和a ppend()方法修改列表。方法二:重新创建一个同名字的列表覆盖。1.利用for循环打印上边member列表中的每个内容,如图:2.上一题打印的样式不是很好,能不能修改一下代码打印成下图的样式呢?【请 至少使用两种方法实现】3.请写下

42、这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方 式!第11课测试题答案:0.列表都可以存放一些什么东西?我们说Python的列表是一个打了激素的数组,如果把数组比喻成集装箱,那么 Python的列表就是一个大仓库,Ta可以存放我们已经学习过的任何数据类型。mix=口小甲鱼3.1 4,1,2,31.向列表增加元素有哪些方法?这节课我们教过大家三种方法想列表增加元素,分别是:a ppend。、extend()和 insert()o2.appendQ方法和extendQ方法都是向列表的末尾增加元素,请问他们有 什么区别?a ppend()方法是将参数作为一个元素增加到列表的末尾。ext

43、end()方法则是将参数作为一个列表去扩展列表的末尾。请看以下示例:1.name=F,i,s,h2.name.append(C)3.name4.F,i,s,h,C 5.name.ext end(.,c)6.name7.F,i,s,h,C,c 8.name.append(o,m)9.name10.F,i,s,h,U,c,o,m复制代码3.member.append(竹林小溪Crazy 迷恋)和 member.extend(竹林小溪,Crazy迷恋口)实现的效果一样吗?不一样,因为怕大家没有仔细看上一题的示例,所以不懂的请看上一题解释。4有列表name=Fz iz h;C,如果小甲鱼想要在元素i和

44、h之间 插入元素s,应该使用什么方法来插入?na me.insert(2,s)动动手答案:0.自己动手试试看,并分析在这种情况下,向列表添加数据应当采用哪种方法 比较好?假设给定以下列表:member=小甲鱼丁黑夜丁迷途丁怡静丁秋舞斜阳 要求将列表修改为:member=小甲鱼,88,黑夜,,90,魅途:85/怡静)90,秋舞斜阳,,88方法一:使用insert()和appendQ方法修改列表。方法二:重新创建一个同名字的列表覆盖。解答:方法一:1.member.ins er t(l 88)2.member.ins er t(3 90)3.member.ins er t(5J 85)4.memb

45、er.ins er t。,90)5.member.append(88)复制代码方法二:1.member=小甲鱼,88,黑夜90,迷途,,85,怡静,90,秋舞斜阳,88复制代码对于这种情况,明显是第二种方法看起来要好一些嘛。不过对于大型的列表,第一种方法可能更合适,所以我们说永远没有最好的,只 有最合适的C1.利用for循环打印上边member列表中的每个内容1.member=小甲鱼88,黑夜,90,迷途,,85,怡静90,秋舞斜阳1882.fo r eac h in member:3.pr int(eac h)复制代码2.上一题打印的样式不是很好,能不能修改一下代码打印成下图的样式呢?【请

46、至少使用两种方法实现】1.方法一:2.c o unt=03.l eng t h=l en(member)4.whil e c o unt o l d=1,2,3,4,52.newo l d3.o l d=64.pr int(new)复制代码如果不上机操作,你觉得会打印什么内容?第12课i.请问如何将下边这个列表的小甲鱼修改为小觥鱼?1.l is t l=1,口,2,小甲鱼,3,5,8,13,18复制代码2 .要对一个列表进行顺序排序,请问使用什么方法?3.要对一个列表进行逆序排序,请问使用什么方法?4.列表还有两个内置方法没给大家介绍,不过聪明的你应该可以自己摸索使用 的门道吧:copy()和

47、clea r。5.你有听说过列表推导式或列表解析吗?没听过?!没关系,我们现场来学习一下吧,看表达式:1.i*i fo r i in r ang e(10)复制代码你觉得会打印什么内容?1.i*i fo r i in r ang e(10)2.0,1,4,9,16,25,36,49,64,81复制代码居然分别打印了。到9各个数的平方,然后还放在列表里边了有木有?!列表推导式(List comprehensions)也叫列表解析,灵感取自函数式编程语言 Ha skello Ta是一个非常有用和灵活的工具,可以用来动态的创建列表,语法如:有关A的表达式f or A in B 例如1.l is t

48、l=x*2 fo r x in r ang e(10)2.l is t l3.0,1,4,9,16,25,36,49,64,81复制代码相当于1.l is t l=2.fo r x in r ang e(10):3.l is t l.append(x*2)复制代码问题:请先在IDLE中获得下边列表的结果,并按照上方例子把列表推导式还原 出来。1.l is t l=(x,y)fo r x in r ang e(10)fo r y in r ang e(10)if x%2=0 if y%2!=0复制代码6.活学活用:请使用列表推导式补充被小甲鱼不小心涂掉的部分7.请写下这一节课你学习到的内容:格式

49、不限,回忆并复述是加强记忆的好方 式!回复您的答案即可查看参考答案!测试题答案:0.注意,这道题跟上节课的那道题有点儿不同,回答完请上机实验或参考答案。1.o l d=1,2,3,4,52.newo l d3.o l d=64.pr int(new)复制代码会打印:1,2,3,4,5如有不理解的朋友请看上一讲课后作业的详细答案。1.请问如何将下边这个列表的小甲鱼修改为小鳏鱼?1.l is t l=1,1,2,小甲鱼,3,5,8,13,182.l is t l l 20=小觥鱼,复制代码2.要对一个列表进行顺序排序,请问使用什么方法?1.列表名.s o r t()复制代码3.要对一个列表进行逆序

50、排序,请问使用什么方法?1.列表名.s o r t()2.列表名.r ever s e()复制代码或者1.列表名.s o r t(r ever s e=Tr ue)复制代码4.列表还有两个内置方法没给大家介绍,不过聪明的你应该可以自己摸索使用 的门道吧:copy()和dear()copy()方法跟使用切片拷贝是一样的:1.l is t 2=l is t l.c o py()2.l is t 23.1,1,2,小甲鱼,3,5,8,13,18复制代码 clea r()方法用于清空列表的元素,但要注意,清空完后列表仍然还在哦,只是 变成一个空列表。1.l is t 2.c l ear()2.l is

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 考试专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服