time = 0
timeinterval = 0.01
while True:
time += timeinterval
if (time)%(0.1) == 0:
print "Hello World"
break
elif time > 0.11:
break
else:
print "Goodbye"
结果不是应该有个“Hello World”的吗?
python小数取余,为什么time对0.1取余==0不行呢,代码如下:
答案:2 悬赏:80 手机版
解决时间 2021-03-07 05:45
- 提问者网友:遮云壑
- 2021-03-06 06:59
最佳答案
- 五星知识达人网友:山河有幸埋战骨
- 2021-03-06 07:27
在精确的数学上,确实可以取余,但是到了计算机里面却不一定,因为有精度损失
(time)%(0.1) == 0 这一句你可以改成写 abs((time)%(0.1) - 0) < 1e-5
(time)%(0.1) == 0 这一句你可以改成写 abs((time)%(0.1) - 0) < 1e-5
全部回答
- 1楼网友:北方的南先生
- 2021-03-06 09:07
你好!
取余这种东西不要用在浮点数上。你换一种别的写法吧。
仅代表个人观点,不喜勿喷,谢谢。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯