Python的数据类型
整形,长整型与整形结合在一起了;浮点型;布尔类型
E记法
类型转换
类型int 浮点型float 字符串str
获取关于类型的信息
Type函数
Isinstance BIF函数
课后题:
0. 在 Python 中,int 表示整型,那你还记得 bool、float 和 str 分别表示什么吗?
解:布尔类型,浮点型,字符型
-
你知道为什么布尔类型(bool)的 True 和 False 分别用 1 和 0 来代替吗?
解:所有的编程语言最终都会转换成简单的二进制序列给 CPU 按照一定的规则解析。
由于二进制只有两个数:0 和 1,因此用 0 和 1 来表示 False 和 True 再适合不过了,因为不用浪费资源在转换的过程上! -
使用 int() 将小数转换为整数,结果是向上取整还是向下取整呢?
解:向下取整,但是对于负数则刚好相反 —— 是向上取整。 -
我们人类思维是习惯于“四舍五入”法,你有什么办法使得 int() 按照“四舍五入”的方式取整吗?
解:5.4 “四舍五入”结果为:5,int(5.4+0.5) == 5
5.6 “四舍五入”结果为:6,int(5.6+0.5) == 6 -
取得一个变量的类型,视频中介绍可以使用 type() 和 isinstance(),你更倾向于使用哪个?
解:建议isinstance函数 -
Python3 可以给变量命名中文名,知道为什么吗?
解: ·Pyhton3 源码文件默认使用utf-8编码(支持中文)
动手题:
0.再次改进我们的小游戏:当用户输入错误类型的时候,及时提醒用户重新输入,防止程序崩溃。
import random
times = 3
realnumber = random.randint(1,20)
print('----------猜数字游戏-------------')
number=0
# 这里先给number赋值(赋一个绝对不等于realnumber的值)
# print()默认是打印完字符串会自动添加一个换行符,end=" "参数告诉print()用空格代替换行\n
print("请输入一个数字: ",end=" ")
while (number !=realnumber) and (times>0) :
temp = input( )
number = int(temp)
times = times - 1 # 用户每输入一次,可用机会就-1
if number ==realnumber:
print("猜对了")
print('可惜没有奖励')
else:
if number > realnumber :
print("猜大了。。。。")
else:
print("猜小了。。。。")
if times > 0:
print("请再试一次: ",end=" ")
else:
print("机会用光了,运气不好")
print("游戏结束,拜拜")
执行结果
改进程序代码
import random
times = 3
realnumber = random.randint(1,20)
print('----------猜数字游戏-------------')
number=0
# 这里先给number赋值(赋一个绝对不等于realnumber的值)
# print()默认是打印完字符串会自动添加一个换行符,end=" "参数告诉print()用空格代替换行\n
print("请输入一个数字: ",end=" ")
while (number !=realnumber) and (times>0) :
temp = input( )
if temp.isdigit():
number = int(temp)
if number ==realnumber:
print("猜对了")
print('可惜没有奖励')
else:
if number > realnumber :
print("猜大了。。。。")
else:
print("猜小了。。。。")
if times > 1:
print("请再试一次: ",end=" ")
else:
print("机会用光了,运气不好")
else :
print("抱歉,您的输入有误,请输入一个整数:", end='')
times = times - 1 # 用户每输入一次,可用机会就-1
print("游戏结束,拜拜")
执行结果
1.判断闰年
temp = input('请输入一个年份:')
while not temp.isdigit():
temp = input("抱歉,您的输入有误,请输入一个整数:")
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 + ' 不是闰年!')
执行结果