第五讲:闲聊之python的数据类型
一、知识点:
1.python3的几种数据类型:int(整型),float(浮点型),bool(布尔型),E记法
2.type和isinstance。这是两个内置函数,这两个主要的作用都是判断变量的类型(整型、浮点型等),区别是type主要是给出变量的类型,isinstance主要是判断变量的类型。
>>> a = 3
>>> type(a)
<class 'int'>
>>> isinstance(a,int)
True
3.关于bool类型,只要数值不为0,其他都是true
4.int类型的数值向下截断,如:
>>> int(5.6)
5
>>> int(6.9)
6
--------------------------------------------------------------------我是一条分割线----------------------------------------------------------------------
二、课后作业:
0. 在 Python 中,int 表示整型,那你还记得 bool、float 和 str 分别表示什么吗?
bool布尔类型,float浮点型,str字符串类型。
1.你知道为什么布尔类型(bool)的 True 和 False 分别用 1 和 0 来代替吗?
计算机只认识二进制,由于二进制只有两个数0和1,因此用0和1来表示在合适不过了,因为不用浪费在资源在转换的过程上
2.使用 int() 将小数转换为整数,结果是向上取整还是向下取整呢?
向下取整。
3.人类思维是习惯“四舍五入”法,有什么办法使得int()按照“四舍五入”的方式取整?
加0.5
>>> a=8.6
>>> int(a+0.5)
9
4.取的一个变量的类型,视频中介绍可以使用type()和 isinstance(),你更倾向使用哪个?
type() 直接返回一个输入的变量的类型;
isinstance() 返回变量与另一个变量的类型比较,如果是统一类型则返回TRUE,不同则返回FALSE。
5.Python3 可以给变量命名中文名,知道为什么吗?
Python3 源码文件默认使用 UTF-8编码(支持中文),这就中文代码是合法的。
--------------------------------------------------------------------我是一条分割线----------------------------------------------------------------------
三、动动手:
0.针对视频中小甲鱼提到的小漏洞,再次改进我们的小游戏:当用户输入错误类型的时候,及时提醒用户重新输入,防止程序崩溃。
print('--------猜数字游戏3.0--------')
import random
num = random.randint(1,10)
count = 3
guess =0
while (guess != num) and (count > 0):
temp = input('请输入一个数字:',end='')
while not temp.isdigit():
temp = input('sorry,输入类型有误,请输入一个整数:')
guess = int(temp)
count -= 1
if guess == num:
print('bingo!')
else:
if guess > num:
print('大了!')
else:
print('小了!')
if count > 0:
print('再来一次:',end='')
else:
print('机会用完了!')
print('游戏结束!')
备注:
s.isalnum() 所有字符都是数字或者字母,返回 True,否则返回 False
s.isalpha() 所有字符都是字母,为真返回True,否则返回 False
s.isdigit() 所有字符都是数字,为真返回True,否则返回 False
s.islower() 所有字符都是小写,为真返回True,否则返回 False
s.isupper() 所有字符都是大写,为真返回True,否则返回 False
s.istitle()所有单词都是首字母大写,为真返回True,否则返回 False
s.isspace()所有字符都是空白字符,为真返回True,否则返回 False
1.写一个程序,判断给定年份是否为闰年
print('--------求闰年--------')
while 1:
temp = input('请输入一个年份:')
while not temp.isdigit():
temp = input('sorry,输入类型有误,请输入一个数值年份:')
year = int(temp)
if year/400 == int(year/400):
print(temp+'是闰年')
else:
if (year/4 == int(year/4)) and (year/100 != int(year/100)):
print(temp+'是闰年')
else:
print(temp+'不是闰年')
--------------------------------------------------------------------我是一条分割线----------------------------------------------------------------------