测试题:
在 Python 中,int 表示整型,那你还记得 bool、float 和 str 分别表示什么吗?
布尔逻辑、浮点、字符串你知道为什么布尔类型(bool)的 True 和 False 分别用 1 和 0 来代替吗?
计算机内部都是二级制运算的,只有0、1使用 int() 将小数转换为整数,结果是向上取整还是向下取整呢?
向下,砍掉后面我们人类思维是习惯于“四舍五入”法,你有什么办法使得 int() 按照“四舍五入”的方式取整吗?
if x-int(x)>=0.5: int(x)+1 else: int(x)
小甲鱼说(果然还是小甲鱼聪明):
5.4 “四舍五入”结果为:5,int(5.4+0.5) == 5
5.6 “四舍五入”结果为:6,int(5.6+0.5) == 6取得一个变量的类型,视频中介绍可以使用 type() 和 isinstance(),你更倾向于使用哪个?
type(),isinstance()还需要猜
小甲鱼说(好吧我理解错了):
建议使用 isinstance(),因为它的返回结果比较直接,另外 type() 其实并没有你想象的那么简单,我们后边会讲到。Python3 可以给变量命名中文名,知道为什么吗?
what???等会去试一下!
小甲鱼说:
Pyhton3 源码文件默认使用utf-8编码(支持中文),这就使得以下代码是合法的:>>> 小甲鱼 = '我爱你' >>> print(小甲鱼) >>> 我爱你
【该题针对零基础的鱼油】你觉得这个系列教学有难度吗?
目前还好啦
动动手:
- 针对视频中小甲鱼提到的小漏洞,再次改进我们的小游戏:当用户输入错误类型的时候,及时提醒用户重新输入,防止程序崩溃。
如果你尝试过以下做法,请举下小手: - temp = input(“不妨猜一下小甲鱼现在心里想的是哪个数字:”)
- # 这种想法是因为type(1)会返回 < class ‘int’ >,如果type(temp)返回结果一致说明输入是整数。
- while type(temp) != type(1):
- print(“抱歉,输入不合法,”, end=”)
- temp = input(“请输入一个整数:”)
复制代码
或者可能这样: - temp = input(“不妨猜一下小甲鱼现在心里想的是哪个数字:”)
- # not操作符的作用是将布尔类型的结果翻转:即取反的意思,not True == Flase
- while not isinstance(temp, int):
- print(“抱歉,输入不合法,”, end=”)
- temp = input(“请输入一个整数:”)
复制代码
以上方法的思路是正确的,不过似乎忽略了一点儿:就是input()的返回值始终是字符串,所以type(temp)永远是< class ‘str’ >!
其实有蛮多的做法可以实现的,不过就目前我们学习过的内容来看,还不足够。
所以,在让大家动手完成这道题之前,小甲鱼介绍一点新东西给大家!
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
好了,文字教程就到这里,大家赶紧趁热打铁,改造我们的小游戏吧!
写一个程序,判断给定年份是否为闰年。(注意:请使用已学过的 BIF 进行灵活运用)这样定义闰年的:能被4整除但不能被100整除,或者能被400整除都是闰年。
yearstr = input ('请输入一个年份:') while not yearstr.isdigit(): yearstr = input('输入不合法,请重新输入:') year = int(yearstr) if year%4 == 0 and year%100 !=0: print (yearstr+'年是闰年') else: print (yearstr+'年不是闰年')
错了错了!!!还有世纪闰年(能被400整除)这么一说。。so:
yearstr = input ('请输入一个年份:') while not yearstr.isdigit(): yearstr = input('输入不合法,请重新输入:') year = int(yearstr) if year%400==0: print(yearstr + '年是世纪闰年') else: if year%4 == 0 and year%100 !=0: print (yearstr+'年是闰年') else: print (yearstr+'年不是闰年')
请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!
/(原) vs. //(砍)
** 幂,优先级高于左侧一元运算符、低于右侧一元运算符
not高于and高于or