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

作者: loveyou9527 (省錢小弟)   2020-07-19 16:30:05
最近在做練習題
比如這題
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) 誤差可以接受就沒差
作者: IcecreamHsu (冰淇淋)   2020-07-19 17:05:00
個人覺得應該要考慮語意 對於一定不會出現小數的變數(ex: counter) 還是取int比較清楚
作者: loveyou9527 (省錢小弟)   2020-07-19 17:23:00
明白了,還是要看需求
作者: alvinlin (林矜業)   2020-07-19 19:04:00
還有就是佔用的記憶體大小不同吧?通常選擇變數的型態和處理上的方便性、佔用記憶體的大小、處理的速度、目標的資料結構等因素有關
作者: WayneHong (韋恩咖啡)   2020-07-20 00:13:00
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還可以相加自動轉型呢

Links booklink

Contact Us: admin [ a t ] ucptt.com