本文是跟着鱼C论坛小甲鱼零基础学习Python3的视频学习的,课后题也是跟随每一课所附属的题目来做的,根据自己的理解和标准答案记录的笔记。
第五课
测试题:
0. 在 Python 中,int 表示整型,那你还记得 bool、float 和 str 分别表示什么吗?
答: bool 代表布尔类型, float 代表浮点型, str 代表字符串。
1. 你知道为什么布尔类型(bool)的 True 和 False 分别用 1 和 0 来代替吗?
答:因为计算机的二进制只能识别0和1。
2. 使用 int() 将小数转换为整数,结果是向上取整还是向下取整呢?
答:向下取整。
>>> int(5.499)
5
>>> int(5.999)
5
3. 我们人类思维是习惯于“四舍五入”法,你有什么办法使得 int() 按照“四舍五入”的方式取整吗?
答:
#源代码
temp = input('输入一个数进行四舍五入:')
number = float(temp) + 0.5
resultnumber = int(number)
print(resultnumber)
#运行结果
输入一个数进行四舍五入:5.499
5
>>>
输入一个数进行四舍五入:5.999
6
>>>
4. 取得一个变量的类型,视频中介绍可以使用 type() 和 isinstance(),你更倾向于使用哪个?
答:建议使用 isinstance(),因为它的返回结果比较直接,另外 type() 其实并没有你想象的那么简单,我们后边会讲到。
5. Python3 可以给变量命名中文名,知道为什么吗?
答:因为 Python3 内置了 utf-8 编码。
动动手:
0.针对视频中小甲鱼提到的小漏洞,再次改进我们的小游戏:当用户输入错误类型的时候,及时提醒用户重新输入,防止程序崩溃。
提示:
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
答:
Number = 8
count = 1
print('-----猜猜看Rony心中的数字-----')
temp = input("你能猜出Rony现在所想的数字是:")
while not temp.isdigit():
print('输入不合法!')
temp = input('请输入一个整数:')
guess = int(temp)
if guess == Number:
print("哇,这你都能猜中?")
print("不过没有奖励哦!")
if guess < Number:
print('这个数字小了')
if guess > Number:
print('这个数字大了')
while guess != Number and count < 3:
temp = input("哦豁,错了,重猜看看:")
guess = int(temp)
if guess == Number:
print("哇,这你都能猜中?")
print("不过没有奖励哦!")
else:
if guess > Number:
print('这个数字大了')
else:
print('这个数字小了')
count += 1
print("游戏结束.")
1. 写一个程序,判断给定年份是否为闰年。(注意:请使用已学过的 BIF 进行灵活运用)
这样定义闰年的:能被4整除但不能被100整除,或者能被400整除都是闰年。
答:
temp = input('请输入一个年份:')
while not temp.isdigit():
print('输入内容有误!')
temp = input('请输入一个年份:')
year = int(temp)
if year%4 == 0 and year%100 != 0 :
print(temp + '年是闰年')
else:
print(temp + '年不是闰年')