再来看第 3 章“动手试一试”中从华氏度到摄氏度的温度转换程序,应该记得当时需要修正整除行为才能得到正确的答案,需要把 5 改为 5.0 或者把 9 改成 9.0:
cel = 5.0 / 9 * (fahr - 32)
float
函数给出了另一种做法:
cel = float(5) / 9 * (fahr - 32)
或
cel = 5 / float(9) * (fahr - 32)
可以试试看。
你学到了什么
在这一章,你学到了以下内容。
完成类型转换(或者更准确地说,从某些类型创建另外一些类型):
str
、int
和float
。直接显示值,而不使用
print
。使用
type
查看变量的类型。舍入误差及其出现的原因。
测试题
1. 使用 int
将小数转换为整数,结果是上取整还是下取整?
2. 在温度转换程序中,可以这样做吗?
cel = float(5 / 9 * (fahr - 32))
这样呢?
cel = 5 / 9 * float(fahr - 32)
如果不行,为什么?
3. (挑战题)除了 int
不使用任何其他函数,如何对一个数四舍五入而不是下取整?(例如,13.2 会下取整为 13,但是 13.7 会上取整为 14。)
动手试一试
1. 使用 float
从一个字符串(如 '12.34'
)创建一个数。要保证结果确实是一个数!
2. 试着使用 int
从一个小数(56.78
)创建一个整数。答案是上取整还是下取整?
3. 试着使用 int
从一个字符串创建整数。要保证结果确实是一个整数!