最近在做練習題
比如這題
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
這樣的思考有啥盲點嗎?
作者:
jigfopsda (jigfopsda)
2020-07-19 16:54:00浮點數有時會有一點誤差(ieee754) 誤差可以接受就沒差
個人覺得應該要考慮語意 對於一定不會出現小數的變數(ex: counter) 還是取int比較清楚
還有就是佔用的記憶體大小不同吧?通常選擇變數的型態和處理上的方便性、佔用記憶體的大小、處理的速度、目標的資料結構等因素有關
作者:
HuangJC (吹笛牧童)
2020-07-21 16:17:00對 compile 式的語言,當然記憶體及速度差別就很大但對於 script 式的語言,要看它的實作方式會覺得整數只是沒小數的浮點數,這點人類本就這樣想以人類語意產生的 script 本來就可以這樣寫 XDfor loop 或許真的用整數實作有差;但那也可是部份最佳化python3 讓我覺得進一步往我這說法靠攏(雖然我很不接受;我很熟 C,比較喜歡 python2 的做法)如果 script 認為自己不是處理效率,而是要往人類語意靠攏,那麼未來 python4 乾脆廢掉整數,用沒小數的浮點數取代,也不是沒可能..讓你..所思即所得結論:有效率/精準才計較 int,沒管可能就沒有 int(python4應該不會這樣胡搞,但我會;有時我們為了需求會自己打造 script parser 這種東西;打造一次就懂)
作者:
froce (froce)
2020-07-22 17:22:00胡搞瞎搞就是js啊,number和string還可以相加自動轉型呢