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)永远是
其实有蛮多的做法可以实现的,不过就目前我们学习过的内容来看,还不足够。
所以,在让大家动手完成这道题之前,小甲鱼介绍一点新东西给大家!
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 表示字符串
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
3. secret = random.randint(1,10)
4. print('------------------我爱鱼C工作室------------------') 5. guess = 0
6. print(\不妨猜一下小甲鱼现在心里想的是哪个数字:\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 # 用户每输入一次,可用机会就-1 13. 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(\再试一次吧:\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:
12. print(temp + ' 不是闰年!')
复制代码
2. 尝试写代码实现以下截图功能: