再來看第 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
從一個字符串創建整數。要保證結果確實是一個整數!