作者loveyou9527 (小弟)
看板Python
标题[问题] 我感觉使用float优於int这样正确吗?
时间Sun Jul 19 16:30:05 2020
最近在做练习题
比如这题
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://webptt.com/cn.aspx?n=bbs/Python/M.1595147407.A.243.html
1F:推 jigfopsda: 浮点数有时会有一点误差(ieee754) 误差可以接受就没差 07/19 16:54
2F:→ IcecreamHsu: 个人觉得应该要考虑语意 对於一定不会出现小数的变 07/19 17:05
3F:→ IcecreamHsu: 数(ex: counter) 还是取int比较清楚 07/19 17:05
4F:→ loveyou9527: 明白了,还是要看需求 07/19 17:23
5F:→ alvinlin: 还有就是占用的记忆体大小不同吧? 07/19 19:04
6F:→ alvinlin: 通常选择变数的型态和处理上的方便性、占用记忆体的大小 07/19 19:04
7F:→ alvinlin: 、处理的速度、目标的资料结构等因素有关 07/19 19:04
8F:→ WayneHong: int有时候自动无条件舍去也是挺方便的 07/20 00:13
9F:推 HuangJC: 对 compile 式的语言,当然记忆体及速度差别就很大 07/21 16:17
10F:→ HuangJC: 但对於 script 式的语言,要看它的实作方式 07/21 16:18
11F:→ HuangJC: 会觉得整数只是没小数的浮点数,这点人类本就这样想 07/21 16:18
12F:→ HuangJC: 以人类语意产生的 script 本来就可以这样写 XD 07/21 16:19
13F:→ HuangJC: for loop 或许真的用整数实作有差;但那也可是部份最佳化 07/21 16:20
14F:→ HuangJC: python3 让我觉得进一步往我这说法靠拢 07/21 16:22
15F:→ HuangJC: (虽然我很不接受;我很熟 C,比较喜欢 python2 的做法) 07/21 16:23
16F:→ HuangJC: 如果 script 认为自己不是处理效率,而是要往人类语意靠 07/21 16:24
17F:→ HuangJC: 拢,那麽未来 python4 乾脆废掉整数,用没小数的浮点数取 07/21 16:25
18F:→ HuangJC: 代,也不是没可能.. 07/21 16:25
19F:→ HuangJC: 让你..所思即所得 07/21 16:25
20F:→ HuangJC: 结论:有效率/精准才计较 int,没管可能就没有 int 07/21 16:27
21F:→ HuangJC: (python4应该不会这样胡搞,但我会;有时我们为了需求会 07/21 16:28
22F:→ HuangJC: 自己打造 script parser 这种东西;打造一次就懂) 07/21 16:28
23F:推 froce: 胡搞瞎搞就是js啊,number和string还可以相加自动转型呢 07/22 17:22