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!”
4 / 237
Python习题
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. 尝试写代码实现以下截图功能:
第五课
测试题:
0. 在 Python 中,int 表示整型,那你还记得 bool、float 和 str 分别表示什么吗?
1. 你知道为什么布尔类型(bool)的 True 和 False 分别用 1 和 0 来代替吗?
2. 使用 int() 将小数转换为整数,结果是向上取整还是向下取整呢?
3. 我们人类思维是习惯于“四舍五入”法,你有什么办法使得 int() 按照“四舍五
5 / 237
Python习题
入”的方式取整吗?
4. 取得一个变量的类型,视频中介绍可以使用 type() 和 isinstance(),你更倾向于使用哪个?
5. Python3 可以给变量命名中文名,知道为什么吗?
6. 【该题针对零基础的鱼油】你觉得这个系列教学有难度吗?
动动手:
0. 针对视频中小甲鱼提到的小漏洞,再次改进我们的小游戏:当用户输入错误类型的时候,及时提醒用户重新输入,防止程序崩溃。
如果你尝试过以下做法,请举下小手:
1. temp = input(\不妨猜一下小甲鱼现在心里想的是哪个数字:\
2. # 这种想法是因为type(1)会返回
数。
3. while type(temp) != type(1):
4. print(\抱歉,输入不合法,\5. temp = input(\请输入一个整数:\
复制代码
或者可能这样:
1. temp = input(\不妨猜一下小甲鱼现在心里想的是哪个数字:\
2. # not操作符的作用是将布尔类型的结果翻转:即取反的意思,not True == Flase 3. while not isinstance(temp, int): 4. print(\抱歉,输入不合法,\5. temp = input(\请输入一个整数:\
复制代码
以上方法的思路是正确的,不过似乎忽略了一点儿:就是input()的返回值始终是字符串,所以type(temp)永远是
其实有蛮多的做法可以实现的,不过就目前我们学习过的内容来看,还不足够。
所以,在让大家动手完成这道题之前,小甲鱼介绍一点新东西给大家!
6 / 237
Python习题
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整除都是闰年。
2. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!
测试题答案:
0. 在 Python 中,int 表示整型,那你还记得 bool、float 和 str 分别表示什么吗?
bool 表示布尔类型 float 表示浮点型 str 表示字符串
7 / 237
Python习题
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. 【该题针对零基础的鱼油】你觉得这个系列教学有难度吗?
8 / 237