我的問題是當我將數字分隔如: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是一個素數或奇數
感謝
我的問題是當我將數字分隔如: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