[問題] 我感覺使用float優於int這樣正確嗎?

看板Python作者 (小弟)時間3年前 (2020/07/19 16:30), 編輯推噓3(3020)
留言23則, 7人參與, 3年前最新討論串1/1
最近在做練習題 比如這題 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

07/19 16:54, 3年前 , 1F
浮點數有時會有一點誤差(ieee754) 誤差可以接受就沒差
07/19 16:54, 1F

07/19 17:05, 3年前 , 2F
個人覺得應該要考慮語意 對於一定不會出現小數的變
07/19 17:05, 2F

07/19 17:05, 3年前 , 3F
數(ex: counter) 還是取int比較清楚
07/19 17:05, 3F

07/19 17:23, 3年前 , 4F
明白了,還是要看需求
07/19 17:23, 4F

07/19 19:04, 3年前 , 5F
還有就是佔用的記憶體大小不同吧?
07/19 19:04, 5F

07/19 19:04, 3年前 , 6F
通常選擇變數的型態和處理上的方便性、佔用記憶體的大小
07/19 19:04, 6F

07/19 19:04, 3年前 , 7F
、處理的速度、目標的資料結構等因素有關
07/19 19:04, 7F

07/20 00:13, 3年前 , 8F
int有時候自動無條件捨去也是挺方便的
07/20 00:13, 8F

07/21 16:17, 3年前 , 9F
對 compile 式的語言,當然記憶體及速度差別就很大
07/21 16:17, 9F

07/21 16:18, 3年前 , 10F
但對於 script 式的語言,要看它的實作方式
07/21 16:18, 10F

07/21 16:18, 3年前 , 11F
會覺得整數只是沒小數的浮點數,這點人類本就這樣想
07/21 16:18, 11F

07/21 16:19, 3年前 , 12F
以人類語意產生的 script 本來就可以這樣寫 XD
07/21 16:19, 12F

07/21 16:20, 3年前 , 13F
for loop 或許真的用整數實作有差;但那也可是部份最佳化
07/21 16:20, 13F

07/21 16:22, 3年前 , 14F
python3 讓我覺得進一步往我這說法靠攏
07/21 16:22, 14F

07/21 16:23, 3年前 , 15F
(雖然我很不接受;我很熟 C,比較喜歡 python2 的做法)
07/21 16:23, 15F

07/21 16:24, 3年前 , 16F
如果 script 認為自己不是處理效率,而是要往人類語意靠
07/21 16:24, 16F

07/21 16:25, 3年前 , 17F
攏,那麼未來 python4 乾脆廢掉整數,用沒小數的浮點數取
07/21 16:25, 17F

07/21 16:25, 3年前 , 18F
代,也不是沒可能..
07/21 16:25, 18F

07/21 16:25, 3年前 , 19F
讓你..所思即所得
07/21 16:25, 19F

07/21 16:27, 3年前 , 20F
結論:有效率/精準才計較 int,沒管可能就沒有 int
07/21 16:27, 20F

07/21 16:28, 3年前 , 21F
(python4應該不會這樣胡搞,但我會;有時我們為了需求會
07/21 16:28, 21F

07/21 16:28, 3年前 , 22F
自己打造 script parser 這種東西;打造一次就懂)
07/21 16:28, 22F

07/22 17:22, 3年前 , 23F
胡搞瞎搞就是js啊,number和string還可以相加自動轉型呢
07/22 17:22, 23F
文章代碼(AID): #1V50IF93 (Python)