此日记只为了方便自己复盘,如有涉及版权问题,归小甲鱼官方所有。
测试题:
0. 在 Python 中,int 表示整型,那你还记得 bool、float 和 str 分别表示什么吗?
1. 你知道为什么布尔类型(bool)的 True 和 False 分别用 1 和 0 来代替吗?
2. 使用 int() 将小数转换为整数,结果是向上取整还是向下取整呢?
3. 我们人类思维是习惯于“四舍五入”法,你有什么办法使得 int() 按照“四舍五入”的方式取整吗?
4. 取得一个变量的类型,视频中介绍可以使用 type() 和 isinstance(),你更倾向于使用哪个?
5. Python3 可以给变量命名中文名,知道为什么吗?
答0:bool表示布尔值类型,float表示浮点型,str表示字符串。
答1:计算机只认识二进制数,所以所有的编程语言最终都会转换成简单的二进制序列给 CPU 按照一定的规则解析。由于二进制只有两个数:0 和 1,因此用 0 和 1 来表示 False 和 True 再适合不过了,因为不用浪费资源在转换的过程上!
答2:正数向下,负数向上取整。
答3:
1.4 “四舍五入”结果为:1,int(1.4+0.5) == 1
4.6 “四舍五入”结果为:4,int(4.6+0.5) == 5
答4:我更喜欢type(),因为用起来简单明了。
答5:Python3 源码文件默认使用 UTF-8编码(支持中文),因此中文代码是合法的。
动动手:
0. 针对视频中小甲鱼提到的小漏洞,再次改进我们的小游戏:当用户输入错误类型的时候,及时提醒用户重新输入,防止程序崩溃。
备注:
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.写一个程序,判断给定年份是否为闰年
答0:
print('猜数字')
import random
num = random.randint(1,10)
times = 3
guess = 0
while (guess != num) and (times > 0):
print('请输入一个整数: ',end = '')#为什么显示错误没有关键参数
temp = input()
while not temp.isdigit():
temp = input('sorry!输入类型错误,请输入一个整数: ')
guess = int(temp)
times -= 1
if guess == num:
print('太厉害了!你是我肚子里的蛔虫吗?')
else:
if guess > num:
print('大了大了!')
else:
print('小了小了!')
if times > 0:
print('请重新输入一个整数:')
else:
print('机会用完了!')
print('游戏结束!!!')
答1:
print('——————闰年——————')
temp = input('请输入年份:')
while not temp.isdigit():
temp = input('抱歉,您输入有误,请重新输入:')
year = int(temp)
if year/400 == int(year/400):
print(temp + '是闰年!')
else:
print('不是闰年!')
if (year/4 == int(year/4)) and (year/100 != int(year/100)):
print(temp + '是闰年!')
else:
print('不是闰年')