logo资料库

小甲鱼零基础入门学习python课后题及答案.pdf

第1页 / 共229页
第2页 / 共229页
第3页 / 共229页
第4页 / 共229页
第5页 / 共229页
第6页 / 共229页
第7页 / 共229页
第8页 / 共229页
资料共229页,剩余部分请下载后查看
第 1 课 大家可以学到什么: 0.Python3 的所有常用语法 1.面向对象编程思维 2.运用模块进行编程 3.游戏编程 4.计算机仿真 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 的代码阅读对于你来说根本不成问题!
第 2 课 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 里,这种做法叫做拼接字符串。
第 3 课 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''\\' 复制代码
第 4 课 测试题: 0. 请问以下代码会打印多少次“我爱鱼 C!” 1. while 'C': 2. print('我爱鱼 C!') 复制代码 1. 请问以下代码会打印多少次“我爱鱼 C!” 1. i = 10 2. while i: 3. print('我爱鱼 C!') 4. i = i - 1 复制代码 2. 请写出与 10 < cost < 50 等价的表达式 3. Python3 中,一行可以书写多个语句吗? 4. Python3 中,一个语句可以分成多行书写吗? 5. 请问 Python 的 and 操作符 和 C 语言的 && 操作符 有何不同?【该题针对 有 C 或 C++基础的朋友】 6. 听说过“短路逻辑(short-circuit logic)”吗? 动动手: 0. 完善第二个改进要求(为用户提供三次机会尝试,机会用完或者用户猜中答 案均退出循环)并改进视频中小甲鱼的代码。 1. 尝试写代码实现以下截图功能:
第 5 课 测试题: 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. print("抱歉,输入不合法,", end='') 5. temp = input("请输入一个整数:") 复制代码 或者可能这样: 1. temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字:")
2. # not 操作符的作用是将布尔类型的结果翻转:即取反的意思,not True == Flase 3. while not isinstance(temp, int): 4. print("抱歉,输入不合法,", end='') 5. 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() 所有单词都是首字母大写,为真返回 Ture,否则返回 False。 s.isspace() 所有字符都是空白字符,为真返回 Ture,否则返回 False。 例如: >>> s = 'I LOVE FISHC' >>> s.isupper() >>> True 好了,文字教程就到这里,大家赶紧趁热打铁,改造我们的小游戏吧! 1. 写一个程序,判断给定年份是否为闰年。(注意:请使用已学过的 BIF 进行 灵活运用) 这样定义闰年的:能被 4 整除但不能被 100 整除,或者能被 400 整除都是闰年。
分享到:
收藏