我的问题是当我将数字划分为:10/2 - > int / int 结果是5.0,它是浮动的,它不应该是浮动的, 问题是python添加.0到每个数字接受分为第二个数字 所以我想10/2是int
我试过
x = 10
y= x/2
type(y)== int
它打印错误 我希望type(y)打印真实结果,尽管x是素数或奇数
谢谢
答案 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