logo资料库

鱼c小甲鱼零基础学python全套课后题.doc

第1页 / 共231页
第2页 / 共231页
第3页 / 共231页
第4页 / 共231页
第5页 / 共231页
第6页 / 共231页
第7页 / 共231页
第8页 / 共231页
资料共231页,剩余部分请下载后查看
本帖隐藏的内容
本帖隐藏的内容
本帖隐藏的内容
本帖隐藏的内容
本帖隐藏的内容
本帖隐藏的内容
本帖隐藏的内容
本帖隐藏的内容
本帖隐藏的内容
本帖隐藏的内容
本帖隐藏的内容
本帖隐藏的内容
本帖隐藏的内容
本帖隐藏的内容
本帖隐藏的内容
本帖隐藏的内容
本帖隐藏的内容
本帖隐藏的内容
本帖隐藏的内容
本帖隐藏的内容
本帖隐藏的内容
本帖隐藏的内容
第一节课 0. Python 是什么类型的语言? Python 是脚本语言 脚本语言(Scripting language)是电脑编程语言,因此也能让开发者藉以编写出让 电脑听命行事的程序。以简单的方式快速完成某些复杂的事情通常是创造脚本语 言的重要原则,基于这项原则,使得脚本语言通常比 C 语言、C++语言 或 Java 之类的系统编程语言要简单容易。 也让脚本语言另有一些属于脚本语言的特性:  语法和结构通常比较简单  学习和使用通常比较简单  通常以容易修改程序的“解释”作为运行方式,而不需要“编译”  程序的开发产能优于运行性能 一个脚本可以使得本来要用键盘进行的相互式操作自动化。一个 Shell 脚本主要 由原本需要在命令行输入的命令组成,或在一个文本编辑器中,用户可以使用脚 本来把一些常用的操作组合成一组串行。主要用来书写这种脚本的语言叫做脚本 语言。很多脚本语言实际上已经超过简单的用户命令串行的指令,还可以编写更 复杂的程序。 1. IDLE 是什么? IDLE 是一个 Python Shell,shell 的意思就是“外壳”,基本上来说,就是一个通过 键入文本与程序交互的途径!像我们 Windows 那个 cmd 窗口,像 Linux 那个黑 乎乎的命令窗口,他们都是 shell,利用他们,我们就可以给操作系统下达命令。 同样的,我们可以利用 IDLE 这个 shell 与 Python 进行互动。 2. print() 的作用是什么? print() 会在输出窗口中显示一些文本(在这一讲中,输出窗口就是 IDLE shell 窗口)。 3. Python 中表示乘法的符号是什么? Python 中的乘号是*(星号)。 4. 为什么 >>>print('I love fishc.com ' * 5) 可以正常执行, 但 >>>print('I love fishc.com ' + 5) 却报错?
在 Python 中不能把两个完全不同的东西加在一起,比如说数字和文本,正是这 个原因,>>>print('I love fishc.com ' + 5) 才会报错。这就像是在说“五只小甲 鱼加上苍井空会是多少?”一样没有多大意义,结果可能是五,可能是六,也可 能是八!不过乘以一个整数来翻倍就具有一定的意义了,前边的例子就是将 "I love fishc.com" 这个字符串打印五次。 5. 如果我需要在一个字符串中嵌入一个双引号,正确的做法是? 你有两个选择:可以利用反斜杠(\)对双引号转义:\",或者用单引号引起这 个字符串。例如:' I l"o"ve fishc.com '。 6. 为什么我们要使用 Python3?Python2 到底有什么问题?看起来很多程序 员依然都在使用 Python2? 确实还有相当多的程序员在使用 Python2,不过 Python3 才是 Python 发展的 未来,就像 XP 和 WIN7 一样。在《零基础入门学习 Python》的系列教程准备 中,小甲鱼发觉 Python3 中的新特性确实很妙,很值得进行深入学习!你也不 用担心,如果你了解了 Python3,Python2 的代码阅读对于你来说根本不成问 题! 第二节课 0. 什么是 BIF? BIF 就是 Built-in Functions,内置函数。为了方便程序员快速编写脚本程序(脚 本就是要编程速度快快快!!!),Python 提供了非常丰富的内置函数,我们 只需要直接调用即可,例如 print() 的功能是“打印到屏幕”,input() 的作用是接 收用户输入(注:Python3 用 input() 取代了 Python2 的 raw_input(),用法 如有不懂请看视频讲解)。 太多 BIF 学不过来怎么办?看不懂英文说明怎么办?Python3 的资料太少怎么 办?没事,有了小甲鱼,妈妈再也不用担心我的学习了! 1. 用课堂上小甲鱼教的方法数一数 Python3 提供了多少个 BIF? 在 Python 或 IDLE 中,输入 dir(__builtins__) 可以看到 Python 提供的内置 方法列表(注意,builtins 前后是两个下划线哦)其中小写的就是 BIF。如果想 具体查看某个 BIF 的功能,比如 input(),可以在 shell 中输入 help(input), 就会得到这个 BIF 的功能描述。哦,答案应该是 68 个,不信你自己数数看, 你们肯定没有自己完成作业就来看答案!哼~ T_T
2. 在 Python 看来:'FishC' 和 'fishc' 一样吗? 不一样,因为 Python 是一个“敏感的小女孩”,所以不要试图欺骗她,对 Python 来说,fishc 和 FishC 是完全不同的两个名字,所以编程的时候一定要当心。不 过 Python 会帮助解决可能因此出现的问题,例如只有当标识符已经赋值后(还 记得吗,小甲鱼在课堂中说过 Python 的变量是不用先声明的)才能在代码中使 用,未赋值的标识符直接使用会导致运行时错误,所以你很快就可以根据经验发 现此问题。 3. 在小甲鱼看来,Python 中什么是最重要的?你赞同吗? 缩进!在小甲鱼看来,缩进是 Python 的灵魂,缩进的严格要求使得 Python 的 代码显得非常精简并且有层次(小甲鱼阅读过很多大牛的代码,那个乱......C 语 言不是有国际乱码大赛嘛......)。 所以在 Python 里对待缩进代码要十分小心,如果没有正确地缩进,代码所做的 事情可能和你的期望相去甚远(就像 C 语言里边括号打错了位置)。 如果在正确的位置输入冒号“:”,IDLE 会自动将下一行缩进! 4. 这节课的例子中出现了“=”和“==”,他们表示不同的含义,你在编程的过程 中会不小心把“==”误写成“=”吗?有没有好的办法可以解决这个问题呢? C 语言的话,如果 if( c == 1 ) 写成 if( c = 1 ),程序就完全不按程序员原本的 目的去执行,但在 Python 这里,不好意思,行不通,语法错误!Python 不允 许 if 条件中赋值,所以 if c = 1: 会报错! 小甲鱼觉得这种做法可以非常有效的防止程序员因为打炮、熬夜等问题导致粗心 的 BUG ,并且这类 BUG 杀伤力都巨大! 5. 你听说过“拼接”这个词吗? 在一些编程语言,我们可以将两个字符串“相加”在一起,如:'I' + 'Love' + 'FishC' 会得到 'ILoveFishC',在 Python 里,这种做法叫做拼接字符串。 0. 编写程序:hello.py,要求用户输入姓名并打印“你好,姓名!” 1. name = input("请输入您的姓名:") 2. print('你好,' + name + '!') 复制代码
1. 编写程序:calc.py 要求用户输入 1 到 100 之间数字并判断,输入符合要求 打印“你妹好漂亮”,不符合要求则打印“你大爷好丑” 1. temp = input("请输入 1 到 100 之间的数字:") 2. num = int(temp) 3. if 1 <= num <= 100: 4. print('你妹好漂亮^_^') 5. else: 6. print('你大爷好丑 T_T') 复制代码 第三课 5. 如果非要在原始字符串结尾输入反斜杠,可以如何灵活处理? 1. >>>str = r'C:\Program Files\FishC\Good''\\' 复制代码 第四课 测试题: 0. 请问以下代码会打印多少次“我爱鱼 C!” 1. while 'C': 2. print('我爱鱼 C!') 复制代码 1. 请问以下代码会打印多少次“我爱鱼 C!” 1. i = 10 2. while i: 3. 4. print('我爱鱼 C!') i = i - 1 复制代码 2. 请写出与 10 < cost < 50 等价的表达式 3. Python3 中,一行可以书写多个语句吗? 4. Python3 中,一个语句可以分成多行书写吗?
5. 请问 Python 的 and 操作符 和 C 语言的 && 操作符 有何不同?【该题针对 有 C 或 C++基础的朋友】 6. 听说过“短路逻辑(short-circuit logic)”吗? 动动手: 0. 完善第二个改进要求(为用户提供三次机会尝试,机会用完或者用户猜中答 案均退出循环)并改进视频中小甲鱼的代码。 1. 尝试写代码实现以下截图功能: 第五课 测试题: 0. 在 Python 中,int 表示整型,那你还记得 bool、float 和 str 分别表示 什么吗? 1. 你知道为什么布尔类型(bool)的 True 和 False 分别用 1 和 0 来代替 吗? 2. 使用 int() 将小数转换为整数,结果是向上取整还是向下取整呢? 3. 我们人类思维是习惯于“四舍五入”法,你有什么办法使得 int() 按照“四 舍五入”的方式取整吗? 4. 取得一个变量的类型,视频中介绍可以使用 type() 和 isinstance(),你更 倾向于使用哪个? 5. Python3 可以给变量命名中文名,知道为什么吗? 6. 【该题针对零基础的鱼油】你觉得这个系列教学有难度吗? 动动手: 0. 针对视频中小甲鱼提到的小漏洞,再次改进我们的小游戏:当用户输入错误 类型的时候,及时提醒用户重新输入,防止程序崩溃。 如果你尝试过以下做法,请举下小手:
1. temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字:") 2. # 这种想法是因为 type(1)会返回,如果 type(temp)返回结果一致说明 输入是整数。 3. while type(temp) != type(1): 4. 5. print("抱歉,输入不合法,", end='') temp = input("请输入一个整数:") 复制代码 或者可能这样: 1. temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字:") 2. # not 操作符的作用是将布尔类型的结果翻转:即取反的意思,not True == Flase 3. while not isinstance(temp, int): 4. 5. print("抱歉,输入不合法,", end='') temp = input("请输入一个整数:") 复制代码 以上方法的思路是正确的,不过似乎忽略了一点儿:就是 input()的返回值始终 是字符串,所以 type(temp)永远是! 其实有蛮多的做法可以实现的,不过就目前我们学习过的内容来看,还不足够。 所以,在让大家动手完成这道题之前,小甲鱼介绍一点新东西给大家! s 为字符串 s.isalnum() 所有字符都是数字或者字母,为真返回 Ture,否则返回 False。 s.isalpha() 所有字符都是字母,为真返回 Ture,否则返回 False。 s.isdigit() 所有字符都是数字,为真返回 Ture,否则返回 False。 s.islower() 所有字符都是小写,为真返回 Ture,否则返回 False。 s.isupper() 所有字符都是大写,为真返回 Ture,否则返回 False。 s.istitle() False。 所有单词都是首字母大写,为真返回 Ture,否则返回 s.isspace() 所有字符都是空白字符,为真返回 Ture,否则返回 False。 例如:
>>> s = 'I LOVE FISHC' >>> s.isupper() >>> True 好了,文字教程就到这里,大家赶紧趁热打铁,改造我们的小游戏吧! 1. 写一个程序,判断给定年份是否为闰年。(注意:请使用已学过的 BIF 进 行灵活运用) 这样定义闰年的:能被 4 整除但不能被 100 整除,或者能被 400 整除都是闰年。 2. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方 式! 测试题答案: 本帖隐藏的内容 0. 在 Python 中,int 表示整型,那你还记得 bool、float 和 str 分别表示 什么吗? bool 表示布尔类型 float 表示浮点型 str 表示字符串 1. 你知道为什么布尔类型(bool)的 True 和 False 分别用 1 和 0 来代替 吗? 你可能听说过计算机是很“笨”的,究其根本是因为它只认识二进制数,所以所 有的编程语言最终都会转换成简单的二进制序列给 CPU 按照一定的规则解析。 由于二进制只有两个数:0 和 1,因此用 0 和 1 来表示 False 和 True 再适 合不过了,因为不用浪费资源在转换的过程上! 2. 使用 int() 将小数转换为整数,结果是向上取整还是向下取整呢? 我们可爱的小甲鱼说了,小数取整会采用比较暴力的截断方式,即向下取整。(注: 5.5 向上取整为 6,向下取整为 5)
3. 我们人类思维是习惯于“四舍五入”法,你有什么办法使得 int() 按照 “四舍五入”的方式取整吗? int() 固然没那么“聪明”,但机器是死的,鱼油是活的! 5.4 “四舍五入”结果为:5,int(5.4+0.5) == 5 5.6 “四舍五入”结果为:6,int(5.6+0.5) == 6 大家看明白了吗? 4. 取得一个变量的类型,视频中介绍可以使用 type() 和 isinstance(),你 更倾向于使用哪个? 建议使用 isinstance(),因为它的返回结果比较直接,另外 type() 其实并没 有你想象的那么简单,我们后边会讲到。 5. Python3 可以给变量命名中文名,知道为什么吗? Pyhton3 源码文件默认使用 utf-8 编码(支持中文),这就使得以下代码是合法 的: >>> 小甲鱼 = '我爱你' >>> print(小甲鱼) >>> 我爱你 6. 【该题针对零基础的鱼油】你觉得这个系列教学有难度吗? 如果有不懂的问题,请在此处提问:http://bbs.fishc.com/forum-173-1.html 另外需要小甲鱼在视频讲解的方面做哪方面改进请回帖告之! 动动手答案: 本帖隐藏的内容 0. 针对视频中小甲鱼提到的小漏洞,再次改进我们的小游戏:当用户输入错误 类型的时候,及时提醒用户重新输入,防止程序崩溃。 需要注意的地方在代码中已经注释! 1. import random 2. times = 3
分享到:
收藏