always int int = float float in python
我的问题是当我将数字分隔如:10/2 - > int/int 结果是5.0并且它是浮点数,它不应该是浮点数, 问题是python加1.0到每一个号码接受进行分割,第二个数字 所以我想10/2是intalways int int = float float in python
我试图
x = 10
y= x/2
type(y)== int
其打印假 我想类型(Y)打印真正的结果虽然X是一个素数或奇数
感谢
/
给出了一个浮点结果。如果你想要一个整数结果,使用//
。
它的工作原理是这样的原因是,如果您有类似
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
它试图为EXP划分:X = 10/5 类型(X)== int和它的打印假它应该是int –
我试图 X = 10 Y = X/2 型(Y)== INT它打印错误 –
@user_user尝试'x = 10 y = x // 2 print(type(y)== int)'。你应该得到'真实'。 –
你为什么_n eed_结果是一个int? – Ben