看板 Python 關於我們 聯絡資訊
最近在做練習題 比如這題 Enter Hours: 35 Enter Rate: 2.75 Pay: 96.25 x = float(input('Enter Hours:')) y = float(input('Enter Rate:')) z = x*y print(z) x的數字是整數,但是使用float,也是會有答案跑出來 這讓我感覺以後只要使用float就好,不太需要用到int 這樣的思考有啥盲點嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.26.18.65 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1595147407.A.243.html
jigfopsda: 浮點數有時會有一點誤差(ieee754) 誤差可以接受就沒差 07/19 16:54
IcecreamHsu: 個人覺得應該要考慮語意 對於一定不會出現小數的變 07/19 17:05
IcecreamHsu: 數(ex: counter) 還是取int比較清楚 07/19 17:05
loveyou9527: 明白了,還是要看需求 07/19 17:23
alvinlin: 還有就是佔用的記憶體大小不同吧? 07/19 19:04
alvinlin: 通常選擇變數的型態和處理上的方便性、佔用記憶體的大小 07/19 19:04
alvinlin: 、處理的速度、目標的資料結構等因素有關 07/19 19:04
WayneHong: int有時候自動無條件捨去也是挺方便的 07/20 00:13
HuangJC: 對 compile 式的語言,當然記憶體及速度差別就很大 07/21 16:17
HuangJC: 但對於 script 式的語言,要看它的實作方式 07/21 16:18
HuangJC: 會覺得整數只是沒小數的浮點數,這點人類本就這樣想 07/21 16:18
HuangJC: 以人類語意產生的 script 本來就可以這樣寫 XD 07/21 16:19
HuangJC: for loop 或許真的用整數實作有差;但那也可是部份最佳化 07/21 16:20
HuangJC: python3 讓我覺得進一步往我這說法靠攏 07/21 16:22
HuangJC: (雖然我很不接受;我很熟 C,比較喜歡 python2 的做法) 07/21 16:23
HuangJC: 如果 script 認為自己不是處理效率,而是要往人類語意靠 07/21 16:24
HuangJC: 攏,那麼未來 python4 乾脆廢掉整數,用沒小數的浮點數取 07/21 16:25
HuangJC: 代,也不是沒可能.. 07/21 16:25
HuangJC: 讓你..所思即所得 07/21 16:25
HuangJC: 結論:有效率/精準才計較 int,沒管可能就沒有 int 07/21 16:27
HuangJC: (python4應該不會這樣胡搞,但我會;有時我們為了需求會 07/21 16:28
HuangJC: 自己打造 script parser 這種東西;打造一次就懂) 07/21 16:28
froce: 胡搞瞎搞就是js啊,number和string還可以相加自動轉型呢 07/22 17:22