S4E10:Snakify Lesson2 - 0.1+0.2不等于0.3?快來一探究竟吧~
Snakify是一個很好的自學Python的網(wǎng)站,每一個知識點的講解中,即使不懂Python語言也是可以通過觀察和對比來感知每一個指令的功用。建議大家可以先自行進行Lesson 2 的學習,嘗試練習后,再來看講解。
你將要收獲
1.如何表示整數(shù)(Integer arithmetics)和小數(shù) ?Floating-point numbers
2. 如何取用函數(shù)庫中的函數(shù) math module
1 用Python語言表示數(shù)學中的運算
運行Step 1 - Step 2
你能說出它們分別表示什么運算嗎?
7//5;5**2;7%2 答案見1
2 int 和 float
運行Step 3 ,你能說出int 和 float 的區(qū)別嗎?答案見2
注意:在讀入資料時,用 x=float(input)) 與 x=int(intput()) 是不同的。
運行Step 6 為什么0.1+0.2不等于0.3能?
電腦的世界是離散的,來表示小數(shù)時也只能用有限位的二進位來表示數(shù)。
因此在處理小數(shù)時,會有些小誤差。例如,0.1+0.2 = 0.30000000000000004 的結果。
3 取用數(shù)學函數(shù)庫中的函數(shù)
除了預設的 int 與 round 外。有些函數(shù)需要從外部的函數(shù)進行取出來后才能使用。比如ceil 與 floor。
我們可以使用Import……來進行調(diào)用,使用其中的函數(shù)時,也需要前面加上函數(shù)庫的名字。
如果使用from ……Import……時,后面取用內(nèi)部的函數(shù)的時候就不需要再加上函數(shù)庫的名字了。
你可以嘗試調(diào)用math函數(shù)中的ceil 與 floor,你能說出它們分別是什么意思呢?答案見3
除了floor 與 ceil 外,像 sqrt(x), log(x), ?sin(x),e, pi 等基本函數(shù)也都可在 math 這個模組中找到且使用??烊邮衷囈辉嚢桑?/p>
學過今天的知識,快去解決Problems吧~~
答案區(qū)
1.?取整除;冪;求余數(shù)
2 .int是整數(shù),float是小數(shù),6是int,float 表示為6.0
3. 分別表示:無條件進位的取整與無條件舍去的取整