总是int div div = python中的float

时间:2015-11-07 20:56:50

标签: python int

我的问题是当我将数字划分为:10/2 - > int / int 结果是5.0,它是浮动的,它不应该是浮动的, 问题是python添加.0到每个数字接受分为第二个数字 所以我想10/2是int

我试过

x = 10
y= x/2 
type(y)== int 

它打印错误 我希望type(y)打印真实结果,尽管x是素数或奇数

谢谢

1 个答案:

答案 0 :(得分:3)

/给出浮点结果。如果需要整数结果,请使用//

它的工作原理是,如果你有像

这样的东西
function1() / function2()

即使您不知道各个函数返回的类型,也可以告诉结果的类型。

修改1

请注意,并非总是这样。这是一个新的" Python 3行为,也可用于Python 2.2以后(但默认情况下不活动) - 请参阅PEP 238。感谢@ Steve314指出这一点。

修改2

然而,看起来你真正想要做的就是告诉一个数字是否正好进入另一个数字。为此,您应该使用%(余数)

print(15 % 5 == 0) 
print(16 % 3 == 0)

打印

True
False

编辑3

如果你想要结果的类型取决于除法是否完全,你需要做

a // b if a % b == 0 else a / b