我想确保在必要时整数除以整数.有比这更好的方法吗?有很多铸件正在进行中.:-)
(int)Math.Ceiling((double)myInt1 / myInt2)
Run Code Online (Sandbox Code Playgroud) 这不是重复这个,我会在这里解释.
考虑x = 1.2.我想把它分成1和0.2.我已经尝试了链接问题中概述的所有这些方法:
In [370]: x = 1.2
In [371]: divmod(x, 1)
Out[371]: (1.0, 0.19999999999999996)
In [372]: math.modf(x)
Out[372]: (0.19999999999999996, 1.0)
In [373]: x - int(x)
Out[373]: 0.19999999999999996
In [374]: x - int(str(x).split('.')[0])
Out[374]: 0.19999999999999996
Run Code Online (Sandbox Code Playgroud)
我没有尝试给我完全1和0.2.
有没有办法可靠地将浮点数转换为不受浮点表示限制阻碍的十进制和浮点等值?
我理解这可能是由于数字本身的存储方式有限,所以我愿意接受任何克服这个问题的建议(比如一个包或其他).
编辑:如果可能的话,更喜欢不涉及字符串操作的方法.
我写了一个类,其中有一个函数接受几个输入*args,但是运行结果证明它只接受来自第二个的参数,就好像self取第一个,这里是一个简化的代码:
class incorrect():
def itera(self, *args):
for i in args:
print(i)
a = incorrect
a.itera(12, 23, 34)
Run Code Online (Sandbox Code Playgroud)
输出12丢失了:
23
34
Run Code Online (Sandbox Code Playgroud)
问题是什么?我该如何解决这个问题?
给定一对整数值,我需要检查两者是否为非负数或两者都为负数.
琐碎的方式是:
def func(a, b):
return (a >= 0 and b >= 0) or (a < 0 and b < 0)
Run Code Online (Sandbox Code Playgroud)
但我正在寻找一些"整洁"的东西,我相信这是可能的,所以我想出了这个:
def func(a, b):
return (a >= 0) ^ (b >= 0) == 0
Run Code Online (Sandbox Code Playgroud)
然而,这个感觉有点"对普通读者来说模糊不清".
有更干净的方式吗?
谢谢.