Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 有没有办法把整数归类为不带0的整数,把浮点数归类为浮点数?_Python_Python 3.x_Integer_Decimal_Division - Fatal编程技术网

Python 有没有办法把整数归类为不带0的整数,把浮点数归类为浮点数?

Python 有没有办法把整数归类为不带0的整数,把浮点数归类为浮点数?,python,python-3.x,integer,decimal,division,Python,Python 3.x,Integer,Decimal,Division,所以。在我的程序中,我有一个检查除法和的结果是否为整数的部分。例如,6/3=2(真)或7/3=1.66(假)。问题是,当我进行像6/3这样的除法时,应该是整数的结果被归类为浮点,因为它的结果是2.0,而不是2。有没有办法将十进制/浮点答案归类为带小数点的浮点,而将整数答案归类为整数?(末尾没有.0的数字) 我现在有: 6 / 3 = 2.0 (float) 7 / 3 = 1.66 (float) 我想要这个: 6 / 3 = 2 (integer) 7 / 3 = 1.66

所以。在我的程序中,我有一个检查除法和的结果是否为整数的部分。例如,
6/3=2
(真)或
7/3=1.66
(假)。问题是,当我进行像
6/3
这样的除法时,应该是整数的结果被归类为浮点,因为它的结果是
2.0
,而不是
2
。有没有办法将十进制/浮点答案归类为带小数点的浮点,而将整数答案归类为整数?(末尾没有.0的数字)

我现在有:

6 / 3 = 2.0 (float)    
7 / 3 = 1.66 (float)
我想要这个:

6 / 3 = 2 (integer)    
7 / 3 = 1.66 (float)
就用吧

例如,如OP所示:

>>> num1 = 6 / 3  # 2.0
>>> num1.is_integer()
True
>>> num2 = 7 / 3  # 2.33
>>> num2.is_integer()
False
这里不需要任何复杂的东西,将其实现到函数中应该很容易。

7/3*3=7吗

return ((n1 // n2 * n2) == n1)

Python 2还是3?除法在它们中的行为不同。我使用的是Python 3.3。0@DylanJ在这种情况下,您应该接受答案,以便让其他用户知道您的问题已经解决。我也非常感谢您的投票。我不明白您对我的
删除的
答案的问题,@alexthonton。我的答案是正确的,它只是有不正确的语法(这是我在深入研究之前修复的)。OP询问如何检测除法的结果何时产生一个没有余数的整数。我认为你呼吁人们将我的答案标记为删除是不必要的。@DylanJ你可以点击计票下面的勾号,将答案标记为接受。一旦您接受,它将变为绿色。这仅在
/
为整数除法时有效,而在Python 3中没有。您说得对,@jwodder。在python3中,您必须使用
/
。您还需要将表达式封装在parens中,以使其实际工作。我确定了我的答案。我用我手机里糟糕的语法回答。也许我以后会避免这样做。