gpt4 book ai didi

python - Python 中总是 int 除 int = float

转载 作者:行者123 更新时间:2023-12-03 09:19:56 25 4
gpt4 key购买 nike

我的问题是当我除以一个数字时:10/2 → 整数/整数。

结果是5.0并且是float,但它不应该是float。问题是 Python 给每个接受的数字加上 0.0 来除以第二个数字。

所以我希望 10/2 是整数。

我试过了

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

它打印错误。我希望 type(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 

关于python - Python 中总是 int 除 int = float,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33587689/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com