小甲鱼Python第005讲:闲聊之Python的数据类型|课后测试及参考答案

测试题:

0. 在 Python 中,int 表示整型,那你还记得 bool、float 和 str 分别表示什么吗?

int---整型

bool---布尔类型

float---浮点数

str---字符串

1. 你知道为什么布尔类型(bool)的 True 和 False 分别用 1 和 0 来代替吗?
  因为它只认识二进制数(0和1)。所有的编程语言最终都会转换成简单的二进制序列给 CPU 按照一定的规则解析。

2. 使用 int() 将小数转换为整数,结果是向上取整还是向下取整呢?
  当数值大于0时:截断式取整,向下取整,只保留整数位数值。
  当数值小于0时:反之。

  eg:

3. 我们人类思维是习惯于“四舍五入”法,你有什么办法使得 int() 按照“四舍五入”的方式取整吗?
  加上0.5

eg:

1 a=int(input(输入任意浮点数:))
2 print(int(a))
3 print(int(a+0.5))

4. 取得一个变量的类型,视频中介绍可以使用 type() 和 isinstance(),你更倾向于使用哪个?

type()---输出什么类

isinstance( , )---判断两个值类型是否一致。

相对而言,在以后的使用上isinstance()更方便使用。

注:建议使用 isinstance(),因为它的返回结果比较直接,另外小甲鱼说: type() 其实并没有想象的那么简单。

5. Python3 可以给变量命名中文名,知道为什么吗?
  Pyhton3 源码文件默认使用utf-8编码(支持中文)。


6. 【该题针对零基础的鱼油】你觉得这个系列教学有难度吗?


动动手:

0. 针对视频中小甲鱼提到的小漏洞,再次改进我们的小游戏:当用户输入错误类型的时候,及时提醒用户重新输入,防止程序崩溃。

以上方法的思路是正确的,不过似乎忽略了一点儿:就是 input() 的返回值始终是字符串,所以 type(temp) 永远是 <class 'str'>!  
    
其实有蛮多的做法可以实现的,不过就目前我们学习过的内容来看,还不足够。

所以,在让大家动手完成这道题之前,小甲鱼介绍一点新东西给大家!

s 为字符串

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。
         
例如:
>>> s = 'I LOVE FISHC'
>>> s.isupper()
>>> True


好了,文字教程就到这里,大家赶紧趁热打铁,改造我们的小游戏吧!



1. 写一个程序,判断给定年份是否为闰年。(注意:请使用已学过的 BIF 进行灵活运用)

这样定义闰年的:能被4整除但不能被100整除,或者能被400整除都是闰年。

 1 print("查询年份是否为闰年")
 2 year=input("请输入要查询的年份:")
 3 
 4 def IsLeapYear( year):
 5     year=int(year)
 6     if (year % 400 == 0) or ((year % 4 == 0) and (year % 100 != 0)):
 7         print(str(year) + "年为闰年。")
 8         return True
 9     else:
10         print(str(year)+"年不为闰年")
11         return False
12 # Python isdigit() 方法检测字符串是否只由数字组成
13 if not year.isdigit():
14     temp=int(input("抱歉输入格式有误,请重新输入:"))
15     IsLeapYear( temp)
16 else:
17     IsLeapYear( year)

2. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!

原文地址:https://www.cnblogs.com/IT-NXXB/p/12670336.html