我想創建一個小數到二進制轉換器。用戶輸入它們的值,並且每次將金額除以2並添加到invertedbinary
列表中。然後將金額轉換回整數,再除以2,依此類推。我該怎麼辦;如果var是整數然後執行
value = int(input("Please enter the decimal value to be converted to binary."))
invertedbinary = []
while value >= 1:
value = (value/2)
invertedbinary.append(value)
value = int(value)
print (invertedbinary)
for n,i in enumerate(invertedbinary):
if i == isinstance(invertedbinary,int):
invertedbinary[n]=0
else:
invertedbinary[n]=1
print (invertedbinary)
比方說,我輸入數字十七。這是輸出:
[8.5]
[8.5, 4.0]
[8.5, 4.0, 2.0]
[8.5, 4.0, 2.0, 1.0]
[8.5, 4.0, 2.0, 1.0, 0.5]
[1, 1, 1, 1, 1]
因此,我們可以告訴大家,從者的最後一行,我isinstance
的嘗試沒有成功。我想要做的是,如果金額是任意數量,那麼將其顯示爲1,如果它是一個整數,則顯示爲零。所以它應該看起來像是[1, 0, 0, 0, 1]
。每個浮點值的個數,以及整數的零。
我可以用什麼來代替is instance
來實現?
對於任何人想知道的,我稱之爲invertedbinary
,因爲打印時需要翻頁invertedbinary
,然後打印爲字符串以顯示正確的二進制值。
我把它改爲[標籤:蟒蛇-3.X]因爲這需要'INT/int'給'浮動行爲; [看到這個問題](https://stackoverflow.com/questions/19507808/python3-integer-division)。 –
你不想'我== isinstance(invertedBinary,int)'你只是想'isinstance(invertedBinary,int)'我很確定... –
雖然,實際上並不在這種情況下,因爲你關心如果數字是一個整數,而不是'int'類型。 –