0. 在 Python 中的数据类型详解

http://www.cnblogs.com/scios/p/8026576.html

1. 为什么布尔类型(bool)的 True 和 False 分别用 1 和 0 来代替吗?

计算机只认识二进制数,所以所有的编程语言最终都会转换成简单的二进制序列给CPU按照一定的规则解析。 由于二进制只有两个数:0 和 1,因此用 0 和 1 来表示False和True再适合不过了,因为不用浪费资源在转换的过程上!

2. 使用int()将小数转换为整数,结果是向上取整还是向下取整呢?

小数取整会采用比较暴力的截断方式,即向下取整。(注:5.5向上取整为6,向下取整为5)

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

int() 固然没那么“聪明”,但机器是死的,人是活的!

5.4 “四舍五入”结果为:5,int(5.4+0.5) == 5

5.6 “四舍五入”结果为:6,int(5.6+0.5) == 6

大家看明白了吗?

4. 获取一个变量的类型,可以使用 type()和isinstance(),你更倾向于使用哪个?

type()与isinstance()的区别

共同点:两者都可以判断对象类型

不同点:对于一个 class 类的子类对象类型判断,type就不行了,而 isinstance 可以。

例如:

class A:pass
class B(A):passisinstance(A(), A)  # returns True
type(A()) == A      # returns True

isinstance(B(), A)    # returns True
type(B()) == A        # returns False

综上,推荐使用 isinstance 判断对象类型。

5. Python3 可以给变量命名中文名,知道为什么吗?

Pyhton3 源码文件默认使用utf-8编码(支持中文),这就使得以下代码是合法的:

我和你 = '我爱你'
print(我和你) 

6. 针对第三节课中的猜数字游戏,再次改进:当用户输入错误类型的时候,及时提醒用户重新输入,防止程序崩溃。
import random
times = 3
secret = random.randint(1,10)
print('------------------游戏开始------------------')
guess = 0
print("不妨猜一下我现在心里想的是哪个数字:", end=" ")
while (guess != secret) and (times > 0):temp = input()while not temp.isdigit():temp = input("抱歉,您的输入有误,请输入一个整数:")guess = int(temp)if guess == secret:print("你是俺心里的蛔虫吗?!")print("哼,猜中了也没有奖励!")breakelse:if guess > secret:print("哥,大了大了~~~")else:print("嘿,小了,小了~~~")times = times - 1  # 用户每输入一次,可用机会就-1if times > 0:print("再试一次吧:", end=" ")else:print("机会用光咯T_T")
print("游戏结束,不玩啦^_^")

7. 写一个程序,判断给定年份是否为闰年。

闰年应能被4整除(如2004年是闰年,而2001年不是闰年), 但不是所有被4整除的年份都是闰年。在能被100整除的年份中, 又同时能被400整除的年份才是闰年(如2000年是闰年), 能被100整除而不能被400整除的年份(如1800、1900、2100)不是闰年。 这是国际公认的规则。

temp=input('输入需要判断的年份:')
while not temp.isdigit():print("您的输入有误,请输入一个数字!")temp=input()
year=int(temp)
i=year%400
j=year%100
if i==0 and j==0:print(temp+'是闰年!')
else:print(temp+'是平年')

python学习笔记(四)-数据类型相关推荐

  1. python学习笔记四——数据类型

    1.数字类型: 2.字符串类型: 切片:a[m:n:s] m:起始值   n:结束值(不包括n)   s:步长,负数表示从后向前取值 3.序列:列表,元组和字符串都是序列 序列的两个主要特点是索引操作 ...

  2. python学习笔记四-列表

    list列表 序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. 列表是最常用的Python数据类型,它可以作为一个 ...

  3. Python学习笔记简单数据类型之数字

    1.整数: 在Python中可以对整数进行加减乘除以及取模运算,具体代码如下: #整数数据类型学习#加 i = 2 + 3; print(i);#减 i = 3 - 2; print(i);#乘 i ...

  4. Python学习笔记简单数据类型之字符串

    1.字符串: (1).字符串就是一系列字符,串起来形成的一种简单数据类型.在Python中,用引号括起来的都是字符串,包括单引号,双引号,其中字符串可以灵活的运用起来,字符串中可以包括引号和撇号,示例 ...

  5. python学习笔记之数据类型(二)

    上一篇博客,小波介绍了python的入门和简单流程控制,这次写python的数据类型和各种数据类型的内置方法. 一.数据类型是何方神圣? 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当 ...

  6. Python学习笔记---day07数据类型(下)

    Day07数据类型(下) 常见的数据类型: int,整数类型(整形) bool,布尔类型 str,字符串类型 list,列表类型 tuple,元组类型 dict,字典类型 set,集合类型 float ...

  7. Python学习笔记8——数据类型(下)

    文章目录 一.集合(set) 1.1 定义 1.2 集合独有功能 1.2.1 Python Set add()方法 1.2.2 Python Set discard() 方法 1.2.3 Python ...

  8. Python学习笔记--组合数据类型

    组合数据类型 集合 序列 字符串类型 元组类型 列表类型 字典 集合 集合的定义 使用{}或set()函数. 如:A={"python","hello,world&quo ...

  9. python学习笔记(四):函数

    一.函数是什么? 函数一词来源于数学,但编程中的「函数」概念,与数学中的函数是有很大不同的,编程中的函数在英文中也有很多不同的叫法.在BASIC中叫做subroutine(子过程或子程序),在Pasc ...

  10. 潭州教育-Python学习笔记@基本数据类型:元祖字典

    Python基本数据还有元祖和字典 元祖(tuple)是Python的基本数据类型,用()表示,元素之间用','隔开,元祖一旦创建,就不能改变 In [45]: s = ('Stone','Stone ...

最新文章

  1. upgrade lnmpa php.sh,LNMP 状态管理命令说明及Nginx、MySQL/MariaDB、PHP升级教程
  2. NBT:设计稳定无毒的抗菌肽杀灭耐药菌
  3. VS2010+OpenCV2.4.3配置(一次设置,永久生效)
  4. 5单个编译总会编译全部_JDBC【5】 JDBC预编译和拼接Sql对比
  5. 使用redis做缓存,遇到Could not return the resource to the pool异常怎么办呐!
  6. 【华为云技术分享】基于小熊派开发板的智慧路灯开发版本更新
  7. 【Nginx】磁盘文件写入飞地发
  8. 三、MQTT Windosw下的 进一步调试
  9. 脚本之家python专题_一个简单的python读写文件脚本
  10. 孩子学Java编程_7个最适合儿童学习编程的应用程序(上)
  11. 生意参谋高阶指数换算api、指数换算api、生意参谋交易指数换算api、生意参谋数据查询api
  12. Linux文件打包tar
  13. Html post易语言服务器,POST其实很简单 15 易语言模块之精易模块
  14. 穿越沙漠问题c语言算法,沙漠穿越问题_c语言课程设计(9页)-原创力文档
  15. multisim异或门
  16. #3189. 八纵八横(c)
  17. VmWare16 安装图解
  18. C++运动会分数统计系统
  19. 入手对比:华为mate40pro和mate40pro+区别
  20. 数据流角度看DSO(一)

热门文章

  1. leetcode算法题--简化路径
  2. mysql提取数字_Mysql中实现提取字符串中的数字的自定义函数分享
  3. hashlib模块使用详情
  4. 现代软件工程 作业 团队冲刺阶段的要求
  5. 基于虚拟账号的邮件系统
  6. 光伏价格趋势:中美因素汇聚 市场需求向7月延伸
  7. Log4j自定义Appender介绍
  8. Centos 6 安装 配置 oracle11g R2
  9. 踏上《软件设计精要与模式》第二版的征途
  10. bat、sh等批处理文件(脚本文件)