1. 从第三章的练习题说起
(1)第一个题目是求周长,非常简单,就不说了。
(2)第二个题目是将华氏度转为摄氏度,一度以为很简单,顺手写下了代码:
但运行的时候,无论输入什么华氏度,摄氏度都显示“0.0”。后来看了后面的答案,才发现要注意转换公式中“5/9”前面5的处理:
接下来的运行就没问题了:
(3)第三个问题是要计算坐火车到某地的时间。
挺有趣的!听起来好像很难,其实万变不离其宗,也是用除式:
但是现在我还做不到强制利用浮点数计算,这里要给自己提个醒!
2. 第四章 数据的类型
果然,前一章疑惑的问题,就在这章得到解决——
4.1 改变类型
(1)float() : 从一个字符串或整数,创建一个新的浮点数
(2)int() : 从一个整数或字符串,创建一个新的整数
(3)str() : 从一个数(可以是任何其他类型),创建一个新的字符串
另外,这种后面有小括号的叫(内置)函数。
要是跟孩子解释函数,我自己会这样做:函数就是一种的工具,以上面例子为例,float、int与str均是实现“转换”的工具。float函数可以理解为“将一个整数转换为后面有小数点的数字”;而相应的,str函数可以理解为“将一样东西转换成文字串”,举个例子,“你的地址”本来指具体的地址,str(“你的地址”)之后,就指“你”“的”“地”“址”四个文字了。
还有就是,int函数是取整函数,也就是“砍掉”后面小数点的东西,只保留前面的整数。
例如int(4.99)=4,并不会四舍五入等于5。
4.2 得到更多信息:type()
以前,我们是通过用眼睛看一个值是不是有小数点、是不是有引号等方式,来判断是整数、浮点数还是字符串。当我打字的时候,还有你们在浏览的时候,也肯定觉得人眼观察这方法很蠢。这时候我们可以用type函数来判断它的属性。
4.3 使用类型
回顾刚刚华氏度转换的问题:
学完第五章,回顾这里,发现类型转换可能在现在这里显得比较“鸡肋”,但是稍不注意就会出错,所以还是不能掉以轻心的。
3. 练习题
(1)为什么转换温度的时候,不能写成5/9*(fahr-32)?
因为假如没有将5换乘浮点数,按照从左到右的计算顺序,5/9的答案小于一,所以个位数为零;小数点后面的数全被抹掉,所以python认为5/9=0,接下来0*任何数都是0,得数总是0了。
这也是我一开始遇到的bug,浮点数的使用真的很重要!
(2)如何让小数“四舍五入”?
这里涉及到一个小伎俩:“自制”一个roundoff函数,将小数加0.5,再用int取整,得出的数字自然就是“四舍五入”了!
4. 小结
总的来说这一章比较简单,但也是python的基础之一吧,弄清楚数据类型,就相当于弄懂不同性格的人一样,是十分重要的。