收藏 分销(赏)

[全套55讲]-鱼C论坛小甲鱼Python课后题75.pdf

上传人:丰**** 文档编号:4287602 上传时间:2024-09-03 格式:PDF 页数:390 大小:6.60MB
下载 相关 举报
[全套55讲]-鱼C论坛小甲鱼Python课后题75.pdf_第1页
第1页 / 共390页
[全套55讲]-鱼C论坛小甲鱼Python课后题75.pdf_第2页
第2页 / 共390页
[全套55讲]-鱼C论坛小甲鱼Python课后题75.pdf_第3页
第3页 / 共390页
[全套55讲]-鱼C论坛小甲鱼Python课后题75.pdf_第4页
第4页 / 共390页
[全套55讲]-鱼C论坛小甲鱼Python课后题75.pdf_第5页
第5页 / 共390页
点击查看更多>>
资源描述

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

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

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

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

5、阅读对于你来说根本不成问题!第 2 课0.什么是 BIF?BIF 就是 Built-in Functions,内置函数。为了方便程序员快速编写脚本程序(脚本就是要编程速度快快快!),Python 提供了非常丰富的内置函数,我们只需要直接调用即可,例如 print()的功能是“打印到屏幕”,input()的作用是接收用户输入(注:Python3 用 input()取代了 Python2 的 raw_input(),用法如有不懂请看视频讲解)。太多 BIF 学不过来怎么办?看不懂英文说明怎么办?Python3 的资料太少怎么办?没事,有了小甲鱼,妈妈再也不用担心我的学习了!1.用课堂上小甲鱼教的方

6、法数一数 Python3 提供了多少个 BIF?在 Python 或 IDLE 中,输入 dir(_builtins_)可以看到 Python 提供的内置方法列表(注意,builtins 前后是两个下划线哦)其中小写的就是 BIF。如果想具体查看某个 BIF 的功能,比如 input(),可以在 shell 中输入 help(input),就会得到这个 BIF 的功能描述。哦,答案应该是 68 个,不信你自己数数看,你们肯定没有自己完成作业就来看答案!哼 T_T2.在 Python 看来:FishC 和 fishc 一样吗?不一样,因为 Python 是一个“敏感的小女孩”,所以不要试图欺骗她

7、,对 Python 来说,fishc 和 FishC 是完全不同的两个名字,所以编程的时候一定要当心。不过 Python 会帮助解决可能因此出现的问题,例如只有当标识符已经赋值后(还记得吗,小甲鱼在课堂中说过 Python 的变量是不用先声明的)才能在代码中使用,未赋值的标识符直接使用会导致运行时错误,所以你很快就可以根据经验发现此问题。3.在小甲鱼看来,Python 中什么是最重要的?你赞同吗?缩进!在小甲鱼看来,缩进是 Python 的灵魂,缩进的严格要求使得 Python 的代码显得非常精简并且有层次(小甲鱼阅读过很多大牛的代码,那个乱.C语言不是有国际乱码大赛嘛.)。所以在 Pytho

8、n 里对待缩进代码要十分小心,如果没有正确地缩进,代码所做的事情可能和你的期望相去甚远(就像 C 语言里边括号打错了位置)。如果在正确的位置输入冒号“:”,IDLE 会自动将下一行缩进!4.这节课的例子中出现了“=”和“=”,他们表示不同的含义,你在编程的过程中会不小心把“=”误写成“=”吗?有没有好的办法可以解决这个问题呢?C 语言的话,如果 if(c=1)写成 if(c=1),程序就完全不按程序员原本的目的去执行,但在 Python 这里,不好意思,行不通,语法错误!Python 不允许 if 条件中赋值,所以 if c=1:会报错!小甲鱼觉得这种做法可以非常有效的防止程序员因为打炮、熬夜

9、等问题导致粗心的 BUG,并且这类 BUG 杀伤力都巨大!5.你听说过“拼接”这个词吗?在一些编程语言,我们可以将两个字符串“相加”在一起,如:I+Love+FishC 会得到 ILoveFishC,在 Python 里,这种做法叫做拼接字符串。第 3 课0.编写程序:hello.py,要求用户输入姓名并打印“你好,姓名!”1.name=input(请输入您的姓名:)2.print(你好,+name+!)1.编写程序:calc.py 要求用户输入 1 到 100 之间数字并判断,输入符合要求打印“你妹好漂亮”,不符合要求则打印“你大爷好丑”1.temp=input(请输入 1 到 100 之间

10、的数字:)2.num=int(temp)3.if 1=num str=rC:Program FilesFishCGood第 4 课测试题:0.请问以下代码会打印多少次“我爱鱼 C!”1.while C:2.print(我爱鱼 C!)1.请问以下代码会打印多少次“我爱鱼 C!”1.i=102.while i:3.print(我爱鱼 C!)4.i=i-12.请写出与 10 cost 50 等价的表达式3.Python3 中,一行可以书写多个语句吗?4.Python3 中,一个语句可以分成多行书写吗?5.请问 Python 的 and 操作符 和 C 语言的&操作符 有何不同?【该题针对有 C 或C

11、+基础的朋友】6.听说过“短路逻辑(short-circuit logic)”吗?动动手:0.完善第二个改进要求(为用户提供三次机会尝试,机会用完或者用户猜中答案均退出循环)并改进视频中小甲鱼的代码。1.尝试写代码实现以下截图功能:2.尝试写代码实现以下截图功能:3.请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!回复您的答案即可查看参考答案!测试题答案:0.请问以下代码会打印多少次“我爱鱼 C!”死循环,会一直打印“我爱鱼 C!”(嗯,这也算是永远支持鱼 C 的方法之一),直到崩溃或者用户按下快捷键 CTRL+C(强制结束)造成死循环的原因是 while 后边的条件永远

12、为真(True),在 Python 看来,只有以下内容会被看作假(注意冒号括号里边啥都没有,连空格都不要有!):False None 0 ()其他一切都被解释为真!不妨试试:1.while:2.print(进入循环)3.print(退出循环)复制代码或者1.while False:2.print(进入循环)3.print(退出循环)复制代码或者1.while 0:2.print(进入循环)3.print(退出循环)复制代码1.请问以下代码会打印多少次“我爱鱼 C!”会打印 10 次。2.请写出与 10 cost 50 等价的表达式(10 cost)and(cost print(I love f

13、ishc);print(very much!)4.Python3 中,一个语句可以分成多行书写吗?可以,一行过长的语句可以使用反斜杠或者括号分解成几行,不妨试试:1.3 4 and 2.1 (3 4 and 2.1 0):11.temp=input()12.guess=int(temp)13.times=times-1#用户每输入一次,可用机会就-114.if guess=secret:15.print(我草,你是小甲鱼心里的蛔虫吗?!)16.print(哼,猜中了也没有奖励!)17.else:18.if guess secret:19.print(哥,大了大了)20.else:21.prin

14、t(嘿,小了,小了)22.if times 0:23.print(再试一次吧:,end=)24.else:25.print(机会用光咯 T_T)26.print(游戏结束,不玩啦_)复制代码1.尝试写代码实现以下截图功能:1.temp=input(请输入一个整数:)2.number=int(temp)3.i=14.while number:5.print(i)6.i=i+17.number=number-1复制代码2.尝试写代码实现以下截图功能:1.temp=input(请输入一个整数:)2.number=int(temp)3.while number:4.i=number-15.while

15、i:6.print(,end=)7.i=i-18.j=number9.while j:10.print(*,end=)11.j=j-112.print()13.number=number-1复制代码3.请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!小甲鱼希望你认真对待作业就像你希望小甲鱼推出高质量视频一样渴望_第 5 课测试题:0.在 Python 中,int 表示整型,那你还记得 bool、float 和 str 分别表示什么吗?1.你知道为什么布尔类型(bool)的 True 和 False 分别用 1 和 0 来代替吗?2.使用 int()将小数转换为整数,结果是

16、向上取整还是向下取整呢?3.我们人类思维是习惯于“四舍五入”法,你有什么办法使得 int()按照“四舍五入”的方式取整吗?4.取得一个变量的类型,视频中介绍可以使用 type()和 isinstance(),你更倾向于使用哪个?5.Python3 可以给变量命名中文名,知道为什么吗?6.【该题针对零基础的鱼油】你觉得这个系列教学有难度吗?动动手:0.针对视频中小甲鱼提到的小漏洞,再次改进我们的小游戏:当用户输入错误类型的时候,及时提醒用户重新输入,防止程序崩溃。如果你尝试过以下做法,请举下小手:1.temp=input(不妨猜一下小甲鱼现在心里想的是哪个数字:)2.#这种想法是因为 type(

17、1)会返回,如果 type(temp)返回结果一致说明输入是整数。3.while type(temp)!=type(1):4.print(抱歉,输入不合法,,end=)5.temp=input(请输入一个整数:)复制代码或者可能这样:1.temp=input(不妨猜一下小甲鱼现在心里想的是哪个数字:)2.#not 操作符的作用是将布尔类型的结果翻转:即取反的意思,not True=Flase3.while not isinstance(temp,int):4.print(抱歉,输入不合法,,end=)5.temp=input(请输入一个整数:)复制代码以上方法的思路是正确的,不过似乎忽略了一点

18、儿:就是 input()的返回值始终是字符串,所以 type(temp)永远是!其实有蛮多的做法可以实现的,不过就目前我们学习过的内容来看,还不足够。所以,在让大家动手完成这道题之前,小甲鱼介绍一点新东西给大家!s 为字符串s.isalnum()所有字符都是数字或者字母,为真返回 Ture,否则返回 False。s.isalpha()所有字符都是字母,为真返回 Ture,否则返回 False。s.isdigit()所有字符都是数字,为真返回 Ture,否则返回 False。s.islower()所有字符都是小写,为真返回 Ture,否则返回 False。s.isupper()所有字符都是大写,

19、为真返回 Ture,否则返回 False。s.istitle()所有单词都是首字母大写,为真返回 Ture,否则返回 False。s.isspace()所有字符都是空白字符,为真返回 Ture,否则返回 False。例如:s=I LOVE FISHC s.isupper()True好了,文字教程就到这里,大家赶紧趁热打铁,改造我们的小游戏吧!1.写一个程序,判断给定年份是否为闰年。(注意:请使用已学过的 BIF 进行灵活运用)这样定义闰年的:能被 4 整除但不能被 100 整除,或者能被 400 整除都是闰年。2.请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!测试题答案

20、:0.在 Python 中,int 表示整型,那你还记得 bool、float 和 str 分别表示什么吗?bool 表示布尔类型float 表示浮点型str 表示字符串1.你知道为什么布尔类型(bool)的 True 和 False 分别用 1 和 0 来代替吗?你可能听说过计算机是很“笨”的,究其根本是因为它只认识二进制数,所以所有的编程语言最终都会转换成简单的二进制序列给 CPU 按照一定的规则解析。由于二进制只有两个数:0 和 1,因此用 0 和 1 来表示 False 和 True 再适合不过了,因为不用浪费资源在转换的过程上!2.使用 int()将小数转换为整数,结果是向上取整还是

21、向下取整呢?我们可爱的小甲鱼说了,小数取整会采用比较暴力的截断方式,即向下取整。(注:5.5 向上取整为 6,向下取整为 5)3.我们人类思维是习惯于“四舍五入”法,你有什么办法使得 int()按照“四舍五入”的方式取整吗?int()固然没那么“聪明”,但机器是死的,鱼油是活的!5.4“四舍五入”结果为:5,int(5.4+0.5)=55.6“四舍五入”结果为:6,int(5.6+0.5)=6大家看明白了吗?4.取得一个变量的类型,视频中介绍可以使用 type()和 isinstance(),你更倾向于使用哪个?建议使用 isinstance(),因为它的返回结果比较直接,另外 type()其

22、实并没有你想象的那么简单,我们后边会讲到。5.Python3 可以给变量命名中文名,知道为什么吗?Pyhton3 源码文件默认使用 utf-8 编码(支持中文),这就使得以下代码是合法的:小甲鱼=我爱你 print(小甲鱼)我爱你6.【该题针对零基础的鱼油】你觉得这个系列教学有难度吗?如果有不懂的问题,请在此处提问:http:/ random2.times=33.secret=random.randint(1,10)4.print(-我爱鱼 C 工作室-)5.guess=06.print(不妨猜一下小甲鱼现在心里想的是哪个数字:,end=)7.while(guess!=secret)and(t

23、imes 0):8.temp=input()9.while not temp.isdigit():10.temp=input(抱歉,您的输入有误,请输入一个整数:)11.guess=int(temp)12.times=times-1#用户每输入一次,可用机会就-113.if guess=secret:14.print(我草,你是小甲鱼心里的蛔虫吗?!)15.print(哼,猜中了也没有奖励!)16.else:17.if guess secret:18.print(哥,大了大了)19.else:20.print(嘿,小了,小了)21.if times 0:22.print(再试一次吧:,end=

24、)23.else:24.print(机会用光咯 T_T)25.print(游戏结束,不玩啦_)复制代码1.写一个程序,判断给定年份是否为闰年。1.temp=input(请输入一个年份:)2.while not temp.isdigit():3.temp=input(抱歉,您的输入有误,请输入一个整数:)4.5.year=int(temp)6.if year/400=int(year/400):7.print(temp+是闰年!)8.else:9.if(year/4=int(year/4)and(year/100!=int(year/100):10.print(temp+是闰年!)11.else

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

26、hile:2.print(进入循环)3.print(退出循环)复制代码或者1.while Flase:2.print(进入循环)3.print(退出循环)复制代码或者1.while 0:2.print(进入循环)3.print(退出循环)复制代码1.请问以下代码会打印多少次“我爱鱼 C!”会打印 10 次。2.请写出与 10 cost 50 等价的表达式(10 cost)and(cost print(I love fishc);print(very much!)4.Python3 中,一个语句可以分成多行书写吗?可以,一行过长的语句可以使用反斜杠或者括号分解成几行,不妨试试:1.3 4 and

27、 2.1 (3 4 and 2.1 0):11.temp=input()12.guess=int(temp)13.times=times-1#用户每输入一次,可用机会就-114.if guess=secret:15.print(我草,你是小甲鱼心里的蛔虫吗?!)16.print(哼,猜中了也没有奖励!)17.else:18.if guess secret:19.print(哥,大了大了)20.else:21.print(嘿,小了,小了)22.if times 0:23.print(再试一次吧:,end=)24.else:25.print(机会用光咯 T_T)26.print(游戏结束,不玩啦_

28、)复制代码1.尝试写代码实现以下截图功能:1.temp=input(请输入一个整数:)2.number=int(temp)3.i=14.while number:5.print(i)6.i=i+17.number=number-1复制代码2.尝试写代码实现以下截图功能:1.temp=input(请输入一个整数:)2.number=int(temp)3.while number:4.i=number-15.while i:6.print(,end=)7.i=i-18.j=number9.while j:10.print(*,end=)11.j=j-112.print()13.number=num

29、ber-1复制代码第 6 课测试题:0.Python 的 floor 除法现在使用“/”实现,那 3.0/2.0 您目测会显示什么内容呢?1.a b c 事实上是等于?2.不使用 IDLE,你可以轻松说出 5*-2 的值吗?3.如何简单判断一个数是奇数还是偶数?4.请用最快速度说出答案:not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 95.还记得我们上节课那个求闰年的作业吗?如果还没有学到“求余”操作,还记得用什么方法可以“委曲求全”代替“%”的功能呢?动动手:0.请写一个程序打印出 0100 所有的奇数。1.我们说过现在的 Pyth

30、on 可以计算很大很大的数据,但是.真正的大数据计算可是要靠刚刚的硬件滴,不妨写一个小代码,让你的计算机为之崩溃?2.爱因斯坦曾出过这样一道有趣的数学题:有一个长阶梯,若每步上 2 阶,最后剩 1 阶;若每步上 3 阶,最后剩 2 阶;若每步上 5 阶,最后剩 4 阶;若每步上6 阶,最后剩 5 阶;只有每步上 7 阶,最后刚好一阶也不剩。(小甲鱼温馨提示:步子太大真的容易扯着蛋)题目:请编程求解该阶梯至少有多少阶?3.请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!第 7 课测试题答案:0.Python 的 floor 除法现在使用“/”实现,那 3.0/2.0 您目测

31、会显示什么内容呢?如果回答是 1.5 那么很遗憾,您受到 C 语言的影响比较大,Python 这里会义无反顾地执行 floor 除法原则,答案是:1.01.a b c 事实上是等于?(a b)and(b and or我们按照优先级给它们加上括号:(not 1)or(0 and 1)or(3 and 4)or(5 and 6)or(7 and 8 and 9)=0 or 0 or 4 or 6 or 9=4为啥是 4?大家还记得第四讲作业提到的“短路逻辑”吗?3 and 4=4,而 3 or 4=3。所以答案是:4温馨提示:为了更好的表达你的程序,小甲鱼再次呼吁有些括号还是不能省下的,毕竟不是所

32、有程序员都跟你一样都将优先级烂透于心的。5.还记得我们上节课那个求闰年的作业吗?如果还没有学到“求余”操作,还记得用什么方法可以“委曲求全”代替“%”的功能呢?因为上节课我们还没有教大家“求余”的操作,所以小甲鱼使用了“if year/400=int(year/400)”这样的方式来“委曲求全”。动动手答案:0.请写一个程序打印出 0100 所有的奇数。1.i=02.while i=100:3.if i%2!=0:4.print(i,end=)5.i+=16.else:7.i+=1复制代码1.我们说过现在的 Python 可以计算很大很大的数据,但是.真正的大数据计算可是要靠刚刚的硬件滴,不妨

33、写一个小代码,让你的计算机为之崩溃?print(2*2*32)#一般很多机子都会在一会儿之后:Memory Overflow,内存不够用。#设计到幂操作,结果都是惊人滴。2.题目:请编程求解该阶梯至少有多少阶?1.x=72.i=13.flag=04.5.while i=100:6.if(x%2=1)and(x%3=2)and(x%5=4)and(x%6=5):7.flag=18.else:9.x=7*(i+1)#根据题意,x 一定是 7 的整数倍,所以每次乘以 710.i+=111.12.if flag=1:13.print(阶梯数是:,x)14.else:15.print(在程序限定的范围内

34、找不到答案!)复制代码第 8 课0.if not(money 100):上边这行代码相当于?1.assert 的作用是什么?2.假设有 x=1,y=2,z=3,请问如何快速将三个变量的值互相交换?3.猜猜(x y and x or y)0 实现什么样的功能?4.你听说过成员资格运算符吗?动动手:0.视频中小甲鱼使用 if elif else 在大多数情况下效率要比全部使用 if 要高,但根据一般的统计规律,一个班的成绩一般服从正态分布,也就是说平均成绩一般集中在 7080 分之间,因此根据统计规律,我们还可以改进下程序以提高效率。题目备忘:按照 100 分制,90 分以上成绩为 A,80 到

35、90 为 B,60 到 80 为C,60 以下为 D,写一个程序,当用户输入分数,自动转换为 ABCD 的形式打印。1.Python 的作者在很长一段时间不肯加入三元操作符就是怕跟 C 语言一样搞出国际乱码大赛,蛋疼的复杂度让初学者望而生畏,不过,如果你一旦搞清楚了三元操作符的使用技巧,或许一些比较复杂的问题反而迎刃而解。请将以下代码修改为三元操作符实现:1.x,y,z=6,5,42.if x y:3.small=x4.if z small:5.small=z6.elif y z:7.small=y8.else:9.small=z复制代码2.请写下这一节课你学习到的内容:格式不限,回忆并复述是

36、加强记忆的好方式!回复您的答案即可查看参考答案!测试题答案:0.if not(money=100:1.assert 的作用是什么?assert 这个关键字我们称之为“断言”,当这个关键字后边的条件为假的时候,程序自动崩溃并抛出 AssertionError 的异常。什么情况下我们会需要这样的代码呢?当我们在测试程序的时候就很好用,因为与其让错误的条件导致程序今后莫名其妙地崩溃,不如在错误条件出现的那一瞬间我们实现“自爆”。一般来说我们可以用 Ta 再程序中置入检查点,当需要确保程序中的某个条件一定为真才能让程序正常工作的话,assert 关键字就非常有用了。2.假设有 x=1,y=2,z=3,

37、请问如何快速将三个变量的值互相交换?x,y,z=z,y,x 3.猜猜(x name=小甲鱼2.鱼 in name3.True4.肥鱼 in name5.False复制代码当下节课我们讲解 for 语句的时候,你看到 in 会不会就有了更深入的理解?!动动手答案:0.视频中小甲鱼使用 if elif else 在大多数情况下效率要比全部使用 if 要高,但根据一般的统计规律,一个班的成绩一般服从正态分布,也就是说平均成绩一般集中在 7080 分之间,因此根据统计规律,我们还可以改进下程序以提高效率。1.score=int(input(请输入一个分数:)2.if 80 score=60:3.pri

38、nt(C)4.elif 90 score=80:5.print(B)6.elif 60 score=0:7.print(D)8.elif 100=score=90:9.print(A)10.else:11.print(输入错误!)复制代码1.Python 的作者在很长一段时间不肯加入三元操作符就是怕跟 C 语言一样搞出国际乱码大赛,蛋疼的复杂度让初学者望而生畏,不过,如果你一旦搞清楚了三元操作符的使用技巧,或许一些比较复杂的问题反而迎刃而解。1.small=x if(x y and x z)else(y if y z else z)复制代码第 9 课0.下面的循环会打印多少次I Love Fi

39、shC?1.for i in range(0,10,2):2.print(I Love FishC)复制代码1.下面的循环会打印多少次I Love FishC?1.for i in 5:2.print(I Love FishC)复制代码2.回顾一下 break 和 continue 在循环中起到的作用?3.请谈下你对列表的理解?4.请问 range(10)生成哪些数?5.目测以下程序会打印什么?1.while True:2.while True:3.break4.print(1)5.print(2)6.break7.print(3)复制代码6.什么情况下我们要使循环永远为真?7.【学会提高代码

40、的效率】你的觉得以下代码效率方面怎样?有没有办法可以大幅度改进(仍然使用 while)?1.i=02.string=ILoveFishC.com3.while i len(string):4.print(i)5.i+=1复制代码动动手:细节决定成败,看答案前记得自己先敲代码!0.设计一个验证用户密码程序,用户只有三次机会输入错误,不过如果用户输入的内容中包含*则不计算在内。程序演示如图:1.编写一个程序,求 100999 之间的所有水仙花数。如果一个 3 位数等于其各位数字的立方和,则称这个数为水仙花数。例如:153=13+53+33,因此 153 就是一个水仙花数。2.三色球问题有红、黄、蓝

41、三种颜色的求,其中红球 3 个,黄球 3 个,绿球 6 个。先将这 12 个球混合放在一个盒子中,从中任意摸出 8 个球,编程计算摸出球的各种颜色搭配。3.请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!回复您的答案即可查看参考答案!测试题答案:0.下面的循环会打印多少次I Love FishC?1.for i in range(0,10,2):2.print(I Love FishC)复制代码5 次,因为从 0 开始,到 10 结束,步进为 2。1.下面的循环会打印多少次I Love FishC?1.for i in 5:2.print(I Love FishC)复制代

42、码会报错,上节课的课后习题我们提到了 in 是“成员资格运算符”,而不是像 C 语言那样去使用 for 语法。Python 的 for 更像脚本语言的 foreach。2.回顾一下 break 和 continue 在循环中起到的作用 break 语句的作用是终止当前循环,跳出循环体。continue 语句的作用是终止本轮循环并开始下一轮循环(这里要注意的是:在开始下一轮循环之前,会先测试循环条件)。3.请谈下你对列表的理解 嗯,有些知识点需要自己总结才能加固,下节课小甲鱼将跟大家畅谈一个打了激素的数组:列表,不容错过哦_ 4.请问 range(10)生成哪些数?会生成 range(0,10)

43、,list(range(0,10)转换成列表是:0,1,2,3,4,5,6,7,8,9,注意不包含 10 哦。5.目测以下程序会打印什么?1.while True:2.while True:3.break4.print(1)5.print(2)6.break7.print(3)复制代码会打印:23因为 break 只能跳出一层循环,记住咯!6.什么情况下我们要使循环永远为真?while Ture:循环体 同样用于游戏实现,因为游戏只要运行着,就需要时刻接收用户输入,因此使用永远为真确保游戏“在线”。操作系统也是同样的道理,时刻待命,操作系统永远为真的这个循环叫做消息循环。另外,许多通讯服务器的

44、客户端/服务器系统也是通过这样的原理来工作的。所以永远为“真”虽然是“死循环”,但不一定是坏事,再说了,我们可以随时用 break 来跳出循环!7.【学会提高代码的效率】你的觉得以下代码效率方面怎样?有没有办法可以大幅度改进(仍然使用 while)?1.i=02.string=ILoveFishC.com3.while i len(string):4.print(i)5.i+=1复制代码这段代码之所以“效率比较低”是因为每次循环都需要调用一次 len()函数(我们还没有学到函数的概念,小甲鱼这里为零基础的朋友形象的解释下:就像你打游戏打得正 HIGH 的时候,老妈让你去买盐.你有两种选择,一次

45、买一包,一天去买五次,或者一次性买五包回来,老妈要就直接给她。)1.i=02.string=ILoveFishC.com3.length=len(string)4.while i mix=1,小甲鱼,3.14,1,2,3 1.向列表增加元素有哪些方法?这节课我们教过大家三种方法想列表增加元素,分别是:append()、extend()和 insert()。2.append()方法和 extend()方法都是向列表的末尾增加元素,请问他们有什么区别?append()方法是将参数作为一个元素增加到列表的末尾。extend()方法则是将参数作为一个列表去扩展列表的末尾。请看以下示例:1.name=F

46、,i,s,h2.name.append(C)3.name4.F,i,s,h,C5.name.extend(.,c)6.name7.F,i,s,h,C,.,c8.name.append(o,m)9.name10.F,i,s,h,C,.,c,o,m复制代码3.member.append(竹林小溪,Crazy 迷恋)和 member.extend(竹林小溪,Crazy 迷恋)实现的效果一样吗?不一样,因为怕大家没有仔细看上一题的示例,所以不懂的请看上一题解释。4.有列表 name=F,i,h,C,如果小甲鱼想要在元素 i 和 h 之间插入元素 s,应该使用什么方法来插入?name.insert(2,

47、s)动动手答案:0.自己动手试试看,并分析在这种情况下,向列表添加数据应当采用哪种方法比较好?假设给定以下列表:member=小甲鱼,黑夜,迷途,怡静,秋舞斜阳要求将列表修改为:member=小甲鱼,88,黑夜,90,迷途,85,怡静,90,秋舞斜阳,88方法一:使用 insert()和 append()方法修改列表。方法二:重新创建一个同名字的列表覆盖。解答:方法一:1.member.insert(1,88)2.member.insert(3,90)3.member.insert(5,85)4.member.insert(7,90)5.member.append(88)复制代码方法二:1.m

48、ember=小甲鱼,88,黑夜,90,迷途,85,怡静,90,秋舞斜阳,88复制代码对于这种情况,明显是第二种方法看起来要好一些嘛。不过对于大型的列表,第一种方法可能更合适,所以我们说永远没有最好的,只有最合适的。1.利用 for 循环打印上边 member 列表中的每个内容1.member=小甲鱼,88,黑夜,90,迷途,85,怡静,90,秋舞斜阳,882.for each in member:3.print(each)复制代码2.上一题打印的样式不是很好,能不能修改一下代码打印成下图的样式呢?【请至少使用两种方法实现】1.方法一:2.count=03.length=len(member)4

49、.while count old=1,2,3,4,52.new=old3.old=64.print(new)复制代码如果不上机操作,你觉得会打印什么内容?第 12 课1.请问如何将下边这个列表的小甲鱼修改为小鱿鱼?1.list1=1,1,2,小甲鱼,3,5,8,13,18复制代码 2.要对一个列表进行顺序排序,请问使用什么方法?3.要对一个列表进行逆序排序,请问使用什么方法?4.列表还有两个内置方法没给大家介绍,不过聪明的你应该可以自己摸索使用的门道吧:copy()和 clear()5.你有听说过列表推导式或列表解析吗?没听过?!没关系,我们现场来学习一下吧,看表达式:1.i*i for i

50、in range(10)复制代码你觉得会打印什么内容?1.i*i for i in range(10)2.0,1,4,9,16,25,36,49,64,81复制代码居然分别打印了 0 到 9 各个数的平方,然后还放在列表里边了有木有?!列表推导式(List comprehensions)也叫列表解析,灵感取自函数式编程语言 Haskell。Ta 是一个非常有用和灵活的工具,可以用来动态的创建列表,语法如:有关 A 的表达式 for A in B 例如1.list1=x*2 for x in range(10)2.list13.0,1,4,9,16,25,36,49,64,81复制代码相当于1.

展开阅读全文
相似文档                                   自信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 

客服