3.1数字类型及操作
1.整数型
计算无限制,想算多大就算多大。
2.浮点型
不确定尾数问题在很多语言中都存在,涉及到计算机计算的内部原理。
二进制和十进制不存在严格的对等关系。用二进制表示0.1时,是一个无限的循环销售,但是计算机截取其中的53位,让他无限的接近0.1。
「==」两个等号表示一种判断。
可以通过round函数判断浮点数计算和浮点数函数间的一种关系。
3.复数型
在众多语言中,只有Python语言提供了复数类型。
在空间变换中应用广泛,但普通时候使用不多。
4.数字运算操作符
简称「数字符」
其中,在Python语言中,除「x/y」带来的结果的浮点数类型,和我们数据除法结果一致。但是在其它编程语言中,两个整数的除并不是浮点数结果。
提供了一个整数除的方式。
不同的数字类型之间是可以进行混合运算的,它生成的结果类型,一般生成一种最宽的类型。
5 数字运算函数
用函数的方式达到数字运算符的效果
数据类型转换函数
3.2 实例3:天天向上的力量
第一问:千分之一的力量
一天进步千分之一:一年后1.44
一天退步千分之一:一年后0.69
第二问:千分之五和百分之一的力量
第三问:工作日的力量
第四问:工作日的努力
B君要在工作日努力多少倍,才能赶上A君的年进步效果?
运行结果:0.9
工作日努力要加一杯倍,才能达到每天都努力的那些人的效果。
如果以两倍的努力持续365天,周末不休息,一年进步962倍,相当惊人。
经过这个案例,每天进步一点点的力量强大。
3.3 字符串类型及操作
3.4 time库的使用
时间获取
时间戳:表示从1970-1-1 00:00:00开始,到当前这一时刻以秒为单位的数值。
ctime可以帮助我们知道当前系统时间是多少。
gmtime可以用来获取当前时间,并转化为计算机可处理的内容。这三个时间函数,可以对时间做所有可能的后续处理。
时间格式化
将时间信息用一种变量形式合理输出。以下为案例:
对于时间,你希望它通过怎样的方式输出,就使用详细的格式化字符串。如下:
当然,也可以通过将字符串反格式化形成特定时间,但这只在特殊情况下使用。
程序计时
以上使用简单的减法来计算时间。
可以让程序休眠(停滞)3.3秒后再向下运行。
3.5 文本进度条
刷新本质:用后打印的字符覆盖之前的字符
单行刷新效果:使用\r函数,可以每次回到行首输出结果,达到覆盖刷新效果
执行后效果如下:
进程展示方式与人心理关系
2007年,由卡内基梅隆大秀额研究者设计的9种进度条,观察展示方式与人的心理之间的关系。
以下载文件为例,假设下载进程是稳定持续的,那计算机该如何展示下载进度呢?
方式一:忠实展示下载效果。下载10%,展示10%。
方式二:并不忠实或严格的展示下载效果。可以在下载10%时,显示下载90%,或者下载90%时,显示10%。
下面第一个函数是忠实展示,其它八种是非忠实展示。
那到底哪种时间进程方式,会让用户感觉体验更好?
这里有一个提升体验小结论:相比线性展示之外,开始展示进度条速度慢一些,而随着下载的持续,后续进度条展示的增长效果组建增加,这种方式更符合人类的心理需求。
有一个最直观的感受,如果你下载一个文件,一开始时很快下载90%,但后面过了很长一段时间,你也没有下载1%,你的心理会有很大的挫败感。但反过来呢,如果一开始下载的很慢你也能接受,但是下载的越来越快,你会觉得有惊喜感。通过计算机的程序控制,即使下载总时间一样,但将转变用户的使用体验。