我一直试图找出如何表示一个最大整数,我已经阅读使用"sys.maxint".但是,在Python 3中,当我调用它时,我得到:
AttributeError: module 'object' has no attribute 'maxint'
Run Code Online (Sandbox Code Playgroud) 我试图在python中循环整数.我查看了内置的round()函数,但它看起来像是浮点数.
我的目标是将整数舍入到10的最接近的倍数.即:5-> 10,4-> 0,95-> 100等.
5和更高应该向上舍入,4和更低应该向下舍入.
这是我的代码:
def round_int(x):
last_dig = int(str(x)[-1])
if last_dig >= 5:
x += 10
return (x/10) * 10
Run Code Online (Sandbox Code Playgroud)
这是实现我想要实现的目标的最佳方式吗?是否有内置功能可以做到这一点?另外,如果这是最好的方法,那么我在测试中遗漏的代码有什么问题吗?
我有一个关于fix和floor函数的简单问题numpy.当将大于-1的负数向零舍入时,将numpy它们正确地舍入为零但是留下负号.这个负号干扰了我的服装unique_rows函数,因为它使用ascontiguousarray比较数组的元素,这个符号扰乱了唯一性.圆形和修复在这方面表现相同.
>>> np.fix(-1e-6)
Out[1]: array(-0.0)
>>> np.round(-1e-6)
Out[2]: -0.0
Run Code Online (Sandbox Code Playgroud)
有关如何摆脱标志的任何见解?我考虑使用该np.sign功能,但它带来了额外的计算成本.
提前致谢.