有什么办法使得 int() 按照“四舍五入”的方式取整?
我们人类思维是习惯于“四舍五入”法,你有什么办法使得 int() 按照“四舍五入”的方式取整吗?int() 固然没那么“聪明”,但机器是死的,鱼油是活的!
5.4 “四舍五入”结果为:5,int(5.4+0.5) == 5
5.6 “四舍五入”结果为:6,int(5.6+0.5) == 6
大家看明白了吗?
请问这个怎么理解? 大兄弟,这是小学数学啊 太容易了,+0.5 以后会准确的落在四舍五入的范畴内
自己心里加一下就ok
补充,自己可以测试一下 int 到底是如何取整的 ,应该是去尾法 领鱼币{:10_256:} 领鱼币x2{:10_256:}
领鱼币x3{:10_256:} 因为int()转为整数是向下取整的
单独5.8 向下取整 = 5
单独5.6 也是 = 5
你5.8+0.5=6.3 了 用int()取整等于 6
同理5.6+0.5=6.1 int()后= 6 int()就是直接取整,把小数去掉。
若是 int(num+0.5),就可以直接让num若在四舍和五入的范畴之内,若num的小数部分小于0.5,那么再加0.5,也不会进位,使用int就把小数部分去掉了;若num小数部分不小于0.5,那么再加0.5就会进位,使用int的结果就相当于进位了。
很难理解么?不知道你是哪一点不理解 2楼的大兄弟笑死我了 sunrise085 发表于 2020-5-13 15:42
int()就是直接取整,把小数去掉。
若是 int(num+0.5),就可以直接让num若在四舍和五入的范畴之内,若num的 ...
实际上,int(5.6) != int(5.6+0.5)
那为什么int(5.6+0.5) == 6,就认为int(5.6) == 6呢? sunrise085 发表于 2020-5-13 15:42
int()就是直接取整,把小数去掉。
若是 int(num+0.5),就可以直接让num若在四舍和五入的范畴之内,若num的 ...
实际上,int(5.6) != int(5.6+0.5)
那为什么int(5.6+0.5) == 6,就认为int(5.6) == 6呢?
我是没明白这个逻辑。 qingsun 发表于 2020-5-13 15:52
实际上,int(5.6) != int(5.6+0.5)
那为什么int(5.6+0.5) == 6,就认为int(5.6) == 6呢?
先去研究int()这个函数是干啥的吧
int(5.0---5.9) 都是等于5 的
而加0.5以后
5.5---6.4再int()之后,就变成了5 5 5 5 5 6 6 6 6 6
这就变相的实现了四舍五入 本帖最后由 sunrise085 于 2020-5-13 16:02 编辑
qingsun 发表于 2020-5-13 15:52
实际上,int(5.6) != int(5.6+0.5)
那为什么int(5.6+0.5) == 6,就认为int(5.6) == 6呢?
谁说int(5.6) == 6呢?
这里是说使用int()对一个数num完成四舍五入,int(num+0.5)就是用int()对num进行四舍五入。
int(5.6+0.5) == 6,也没有认为int(5.6) == 6啊。只是说5.6四舍五入结果为6而已
用int()完成四舍五入,就像这样
def fun(num):
return int(num+0.5)
这样调用这个函数的时候就是进行四舍五入啊
fun(5.6)结果就是6,fun(5.3)结果就是5 本帖最后由 heidern0612 于 2020-5-13 16:02 编辑
四舍五入、四舍五入,意思不就是四(包含及以下)舍去,五(包含及以上)的话就进数的意思么?
以当前数+0.5位基准,不足后一个数,按本数算;超过后一个数,按后一个数算。 qiuyouzhi 发表于 2020-5-13 15:29
大兄弟,这是小学数学啊
我们的题型是:
设 为不不超过 x 的最大整数
例如, = 3, [-1.2] = -2{:10_256:}
初中就上了一个档次,虽然还不算很难 哈哈哈,鱼币哦~ 好家伙,直接num+0.5,学到了 我来贴贴
看见这么多混鱼币的,我也来 回帖能加鱼币?
页:
[1]
2