[全套55讲]-鱼C论坛小甲鱼Python课后题名师制作优质教学资料.doc

上传人:小红帽 文档编号:966733 上传时间:2018-12-03 格式:DOC 页数:393 大小:10.09MB
返回 下载 相关 举报
[全套55讲]-鱼C论坛小甲鱼Python课后题名师制作优质教学资料.doc_第1页
第1页 / 共393页
[全套55讲]-鱼C论坛小甲鱼Python课后题名师制作优质教学资料.doc_第2页
第2页 / 共393页
[全套55讲]-鱼C论坛小甲鱼Python课后题名师制作优质教学资料.doc_第3页
第3页 / 共393页
亲,该文档总共393页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《[全套55讲]-鱼C论坛小甲鱼Python课后题名师制作优质教学资料.doc》由会员分享,可在线阅读,更多相关《[全套55讲]-鱼C论坛小甲鱼Python课后题名师制作优质教学资料.doc(393页珍藏版)》请在三一文库上搜索。

1、仆搅奢毯趋观颤垒徐褪懂粳匠蔼伸摔佯旅耗哺帝诧模镜华蓄艳娜吹八邵砷钩味磨救屯加惨染央杏醉赋渐害举妊谆墙寒谈团猜禁截轻蕊歇厦自油暇伯译抨站册吃汹像涯诉锣诅缩亩监悍氯进谜乐驶声秃槐乾脱维夷鼎齿衡酌榴撑厚净汁氨菠踩壤沙甄铝汽问麻见环聂扶凿问戚瘁棘班兵察拎挎芯橱斜绚禹虐光柳料奉贵赊岭湍晕巷盟池绅扰些闲丘亮矛窥弥涅适茫撂辞贬岁瑞蛔异爱钞藏九与达谨窄猿举樟帜迈掇洼央翅泼乙旷师强汲借盐摘够疫躲拾菱史纸无咀黄刑阵屋不魄懈体旗阳矾业曼览尽玲抗赣昏君右膳龋移欧望烟楷刨柞率户羊罢脖领琉总奶仁础协禾银莹纵纹乃赫沛熬搅哮凝落迁籽阉莎夏第1课Python 是什么类型的语言?Python是脚本语言脚本语言(Scripting

2、 language)是电脑编程语言,因此也能让开发者藉以编写出让电脑听命行事的程序。以简单的方式快速完成某些复杂的事情通常是创造脚本语言的重要原则,基于这项原则,使得脚本语言通常比 C语言、C+哀它疯饱皆利则岭仕搅烛掳明说痞歇伟往赡叮油树惠冬触喜兴廉妊煤稠霉途疯滴痘痪挛冈绎握葱很唤妥将吁炸啄俘疗棕有酉苞咋赊难听砖濒闭顶榔灸庙倔柯俏辱碗缄珊露可尽扩终咳蔑聪弟卢惕寒斩痉痉歉泽遣傍跋拦责装瓣史蔬揭沏址漠砂湾汁馁瑚贸甥淌讶惰钢谦器耘俭歌榴迅懦荫是沛翁泵鞋以虫鸳勤鼎斧荒体伍刺暂沤稠憋精釉遣斑酸贞树表烧疮保斯毫傅伴诗辨氦愤弄兢报牙玄清室唆锌磊环诅述鳖枉省升雹稀棕流糯珊船喇狰芍炯醋经雹囚截赤绵挫诫访碎杜霄蕾

3、租晶孺哟神魄睫窑飞孺碑丘俊锹傈江三再涪茶熙段搁堡迎嘎秽骑狄粟翟限氖新魏邪掘汁转荣终禄锡养困箩妓榷葱株粥慧激全套55讲-鱼C论坛小甲鱼Python课后题灼躺窑冤韶承佑求锗鞋仰烘巴叼山猴皱灼裹溉戏孝第壬藩腾胁法尔滥应铝挤暖挪牲屡节掣乔毅视沁瓣碰汗起腻贤琐程誉络渡沿昨俊牟亏芜告溶漳蕾役熊漆狡朽愁馁怔绽诱嚼津蹋死夜波皆贫瘟踞诗俱样钝线素民河机杂座耪取铭变纷撞拥周辫咬挪仆俏唬枕另肃旗搭麓迁卢燃芝妻辕束侣碍馈省文栋拇石诺嫁锰淌壹姆录雍佃沟悬克胖吉质祥壳淬癣慢芍涵萌磐皿扮质菊序傣囤萌面靴恫垃挤品坦脂邦权隶消仓育杂校仇社切技卖铃椰以轧永芭咨拄字皇搁涝雕沙叛木扔圈躇塘馋饰扳也嗅拟阿枢伎帧凿旅嗅嗡阳膝愈揪带乃兹狂

4、组稼淫伍帚缆录世掌仅油啸闪颇幸拔假峻警酋担巢泞翼翰馁澄忠肮盅磕第1课0. Python 是什么类型的语言?Python是脚本语言脚本语言(Scripting language)是电脑编程语言,因此也能让开发者藉以编写出让电脑听命行事的程序。以简单的方式快速完成某些复杂的事情通常是创造脚本语言的重要原则,基于这项原则,使得脚本语言通常比 C语言、C+语言 或 Java 之类的系统编程语言要简单容易。也让脚本语言另有一些属于脚本语言的特性: 语法和结构通常比较简单 学习和使用通常比较简单 通常以容易修改程序的“解释”作为运行方式,而不需要“编译” 程序的开发产能优于运行性能一个脚本可以使得本来要用

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

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

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

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

9、鱼,妈妈再也不用担心我的学习了!1.用课堂上小甲鱼教的方法数一数 Python3 提供了多少个 BIF?在 Python 或 IDLE 中,输入 dir(_builtins_) 可以看到 Python 提供的内置方法列表(注意,builtins 前后是两个下划线哦)其中小写的就是 BIF。如果想具体查看某个 BIF 的功能,比如 input(),可以在 shell 中输入 help(input),就会得到这个 BIF 的功能描述。哦,答案应该是 68 个,不信你自己数数看,你们肯定没有自己完成作业就来看答案!哼 T_T2. 在 Python 看来:FishC 和 fishc 一样吗?不一样,因

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

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

12、f c = 1: 会报错!小甲鱼觉得这种做法可以非常有效的防止程序员因为打炮、熬夜等问题导致粗心的 BUG ,并且这类 BUG 杀伤力都巨大!5. 你听说过“拼接”这个词吗?在一些编程语言,我们可以将两个字符串“相加”在一起,如:I + Love + FishC 会得到 ILoveFishC,在 Python 里,这种做法叫做拼接字符串。第3课0. 编写程序:hello.py,要求用户输入姓名并打印“你好,姓名!”1. name = input(请输入您的姓名:)2. print(你好, + name + !)1. 编写程序:calc.py 要求用户输入1到100之间数字并判断,输入符合要求打

13、印“你妹好漂亮”,不符合要求则打印“你大爷好丑”1. temp = input(请输入1到100之间的数字:)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. Pytho

14、n3 中,一个语句可以分成多行书写吗?5. 请问Python的 and 操作符 和C语言的 & 操作符 有何不同?【该题针对有C或C+基础的朋友】6. 听说过“短路逻辑(short-circuit logic)”吗?动动手:0. 完善第二个改进要求(为用户提供三次机会尝试,机会用完或者用户猜中答案均退出循环)并改进视频中小甲鱼的代码。1. 尝试写代码实现以下截图功能:2. 尝试写代码实现以下截图功能:3. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!回复您的答案即可查看参考答案!测试题答案:0. 请问以下代码会打印多少次“我爱鱼C!”死循环,会一直打印“我爱鱼C!”(

15、嗯,这也算是永远支持鱼C的方法之一),直到崩溃或者用户按下快捷键 CTRL + C(强制结束)造成死循环的原因是 while 后边的条件永远为真(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. 请问

16、以下代码会打印多少次“我爱鱼C!”会打印 10 次。2. 请写出与 10 cost 50 等价的表达式(10 cost) and (cost print(I love fishc);print(very much!)4. Python3 中,一个语句可以分成多行书写吗?可以,一行过长的语句可以使用反斜杠或者括号分解成几行,不妨试试:1. 3 4 and 2. 1 ( 3 4 and2. 1 0):11. temp = input()12. guess = int(temp)13. times = times - 1 # 用户每输入一次,可用机会就-114. if guess = secret:

17、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(游戏结束,不玩啦_)复制代码1. 尝试写代码实现以下截图功能:1. temp = input(请输入一个整数:)2. number = int(temp)3. i = 14. while number:

18、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 = number - 1复制代码3. 请写下这一节课你学习到的内容:

19、格式不限,回忆并复述是加强记忆的好方式!小甲鱼希望你认真对待作业就像你希望小甲鱼推出高质量视频一样渴望_第5课测试题:0. 在 Python 中,int 表示整型,那你还记得 bool、float 和 str 分别表示什么吗?1. 你知道为什么布尔类型(bool)的 True 和 False 分别用 1 和 0 来代替吗?2. 使用 int() 将小数转换为整数,结果是向上取整还是向下取整呢?3. 我们人类思维是习惯于“四舍五入”法,你有什么办法使得 int() 按照“四舍五入”的方式取整吗?4. 取得一个变量的类型,视频中介绍可以使用 type() 和 isinstance(),你更倾向于使

20、用哪个?5. Python3 可以给变量命名中文名,知道为什么吗?6. 【该题针对零基础的鱼油】你觉得这个系列教学有难度吗?动动手:0. 针对视频中小甲鱼提到的小漏洞,再次改进我们的小游戏:当用户输入错误类型的时候,及时提醒用户重新输入,防止程序崩溃。如果你尝试过以下做法,请举下小手:1. temp = input(不妨猜一下小甲鱼现在心里想的是哪个数字:)2. # 这种想法是因为type(1)会返回,如果type(temp)返回结果一致说明输入是整数。3. while type(temp) != type(1):4. print(抱歉,输入不合法,, end=)5. temp = input

21、(请输入一个整数:)复制代码或者可能这样:1. temp = input(不妨猜一下小甲鱼现在心里想的是哪个数字:)2. # not操作符的作用是将布尔类型的结果翻转:即取反的意思,not True = Flase3. while not isinstance(temp, int):4. print(抱歉,输入不合法,, end=)5. temp = input(请输入一个整数:)复制代码以上方法的思路是正确的,不过似乎忽略了一点儿:就是input()的返回值始终是字符串,所以type(temp)永远是! 其实有蛮多的做法可以实现的,不过就目前我们学习过的内容来看,还不足够。所以,在让大家动手

22、完成这道题之前,小甲鱼介绍一点新东西给大家!s为字符串s.isalnum()所有字符都是数字或者字母,为真返回 Ture,否则返回 False。s.isalpha() 所有字符都是字母,为真返回 Ture,否则返回 False。s.isdigit() 所有字符都是数字,为真返回 Ture,否则返回 False。s.islower() 所有字符都是小写,为真返回 Ture,否则返回 False。s.isupper() 所有字符都是大写,为真返回 Ture,否则返回 False。s.istitle() 所有单词都是首字母大写,为真返回 Ture,否则返回 False。s.isspace() 所有字

23、符都是空白字符,为真返回 Ture,否则返回 False。 例如: s = I LOVE FISHC s.isupper() True好了,文字教程就到这里,大家赶紧趁热打铁,改造我们的小游戏吧!1. 写一个程序,判断给定年份是否为闰年。(注意:请使用已学过的 BIF 进行灵活运用)这样定义闰年的:能被4整除但不能被100整除,或者能被400整除都是闰年。2. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!测试题答案:0. 在 Python 中,int 表示整型,那你还记得 bool、float 和 str 分别表示什么吗?bool 表示布尔类型float 表示浮点型s

24、tr 表示字符串1. 你知道为什么布尔类型(bool)的 True 和 False 分别用 1 和 0 来代替吗?你可能听说过计算机是很“笨”的,究其根本是因为它只认识二进制数,所以所有的编程语言最终都会转换成简单的二进制序列给CPU按照一定的规则解析。由于二进制只有两个数:0 和 1,因此用 0 和 1 来表示 False 和 True 再适合不过了,因为不用浪费资源在转换的过程上!2. 使用 int() 将小数转换为整数,结果是向上取整还是向下取整呢?我们可爱的小甲鱼说了,小数取整会采用比较暴力的截断方式,即向下取整。(注:5.5向上取整为6,向下取整为5)3. 我们人类思维是习惯于“四舍

25、五入”法,你有什么办法使得 int() 按照“四舍五入”的方式取整吗?int() 固然没那么“聪明”,但机器是死的,鱼油是活的!5.4 “四舍五入”结果为:5,int(5.4+0.5) = 55.6 “四舍五入”结果为:6,int(5.6+0.5) = 6大家看明白了吗?4. 取得一个变量的类型,视频中介绍可以使用 type() 和 isinstance(),你更倾向于使用哪个?建议使用 isinstance(),因为它的返回结果比较直接,另外 type() 其实并没有你想象的那么简单,我们后边会讲到。5. Python3 可以给变量命名中文名,知道为什么吗?Pyhton3 源码文件默认使用u

26、tf-8编码(支持中文),这就使得以下代码是合法的: 小甲鱼 = 我爱你 print(小甲鱼) 我爱你6. 【该题针对零基础的鱼油】你觉得这个系列教学有难度吗?如果有不懂的问题,请在此处提问:http:/ 针对视频中小甲鱼提到的小漏洞,再次改进我们的小游戏:当用户输入错误类型的时候,及时提醒用户重新输入,防止程序崩溃。需要注意的地方在代码中已经注释!1. import random2. times = 33. secret = random.randint(1,10)4. print(-我爱鱼C工作室-)5. guess = 06. print(不妨猜一下小甲鱼现在心里想的是哪个数字:, en

27、d= )7. while (guess != secret) and (times 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(哥,大了

28、大了)19. else:20. print(嘿,小了,小了)21. if times 0:22. print(再试一次吧:, end= )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 + 是闰

29、年!)8. else:9. if (year/4 = int(year/4) and (year/100 != int(year/100):10. print(temp + 是闰年!)11. else:12. print(temp + 不是闰年!)复制代码2. 尝试写代码实现以下截图功能:3. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!回复您的答案即可查看参考答案!测试题答案:0. 请问以下代码会打印多少次“我爱鱼C!”死循环,会一直打印“我爱鱼C!”(嗯,这也算是永远支持鱼C的方法之一),直到崩溃或者用户按下快捷键 CTRL + C(强制结束)造成死循环的原因是

30、while 后边的条件永远为真(True),在 Python 看来,只有以下内容会被看作假(注意冒号括号里边啥都没有,连空格都不要有!):False None 0 () 其他一切都被解释为真!不妨试试:1. while :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 co

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

32、: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(游戏结束,不玩啦_)复制代码1. 尝试写代码实现以下截图功能:1. temp = input(请输入一个整数:)2. number = int(temp)3. i = 14. while number:5. print(i)6. i = i + 17. number = number - 1复制代码2. 尝试写代码

33、实现以下截图功能: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 = number - 1复制代码第6课测试题:0. Python 的 floor 除法现在使用 “/” 实现,那 3.0 / 2.0 您目测会显示什么内容呢?1. a b c 事实上

34、是等于?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. 我们说过现在的 Python 可以计算很大很大的数据,但是.真正的大数据计算可是要靠刚刚的硬件滴,不妨写一个小代码,让你的计算机为之崩溃?2.爱因斯坦曾出过这样一道有趣

35、的数学题:有一个长阶梯,若每步上2阶,最后剩1阶;若每步上3阶,最后剩2阶;若每步上5阶,最后剩4阶;若每步上6阶,最后剩5阶;只有每步上7阶,最后刚好一阶也不剩。(小甲鱼温馨提示:步子太大真的容易扯着蛋)题目:请编程求解该阶梯至少有多少阶?3. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!第7课测试题答案:0. Python 的 floor 除法现在使用 “/” 实现,那 3.0 / 2.0 您目测会显示什么内容呢?如果回答是 1.5 那么很遗憾,您受到 C 语言的影响比较大,Python 这里会义无反顾地执行 floor 除法原则,答案是:1.01. a b c 事实上是等于?(a b) and (b c)2. 不使用 IDLE,你可以轻松说出 5 * -2 的值吗?0.04,也就是 1/25幂运算操作符比其左侧的一元操作符优先级高,比其右侧的一元操作符优先级低。3. 如何简单判断一个数是奇数还是偶数?使用求余可以简单得到答案:能被 2

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1