测试题:
- 在 Python 中,int 表示整型,那你还记得 bool、float 和 str 分别表示什么吗?
bool:布尔型、float:浮点型、str:字符串型
- 你知道为什么布尔类型(bool)的 True 和 False 分别用 1 和 0 来代替吗?
计算机是二进制表示的,二进制只有0 和 1两个数,因此用 0 和 1 来表示 False 和 True 不用浪费资源在转换的过程上。
- 使用 int() 将小数转换为整数,结果是向上取整还是向下取整呢?
直接将小数点后面的数截掉,也就是向下取整。eg:int(5.5)的结果为5
-
我们人类思维是习惯于“四舍五入”法,你有什么办法使得 int() 按照“四舍五入”的方式取整吗?
a=int(a+0.5) -
取得一个变量的类型,视频中介绍可以使用 type() 和 isinstance(),你更倾向于使用哪个?
type 返回类型
isinstance 两个参数 返回true/false
>>> a=1
>>> type(a)
<class 'int'>
>>> isinstance(a,int)
True
>>> isinstance(a,str)
- Python3 可以给变量命名中文名,知道为什么吗?
因为python3 支持UTF-8编码
动动手:
- 当用户输入错误类型的时候,及时提醒用户重新输入,防止程序崩溃。
temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字:")
# not操作符的作用是将布尔类型的结果翻转:即取反的意思,not True == Flase
while not isinstance(temp, int):
print("抱歉,输入不合法,", end='')
temp = input("请输入一个整数:")
注意上面这样是错误的,因为input() 的返回值始终是字符串,所以 type(temp) 永远是 <class ‘str’>!
正确做法:使用了字符串类的一些方法
num=input("请输入:")
while not num.isdigit():
num=input("重新输入:")
print("输入正确")
- 写一个程序,判断给定年份是否为闰年。(注意:请使用已学过的 BIF 进行灵活运用)
这样定义闰年的:能被4整除但不能被100整除,或者能被400整除都是闰年。
num=input("请输入整数:")
while not num.isdigit():
num=input("重新输入:")
###
year=int(num)
if ((year%4==0) and (year%100!=0)) or (year %400==0):
print("Yes")
else:
print("No")