我想撰寫一個程式,將十進制數 0 到 9 轉換為二進制數。我可以編碼如何使用重復除法將十進制數轉換為二進制數。但是,我在創建一個回圈時遇到了麻煩,該回圈將以二進制格式列印十進制數字 0 到 9。
這是我的代碼
number = 0
remainder = 0
x = ""
while number (0,9):
remainder = (number%2)
x = str(remainder) x
number = number//2
(x[::-1])
print(number, "is the binary of",x)
uj5u.com熱心網友回復:
這是您的代碼的修復:
number = 123
remainder = 0
x = ""
n = number # don't work on the original number
# you need it for the final print
while n > 0: # wrong syntax for the condition
remainder = (n%2)
x = str(remainder) x
n = n//2
#(x[::-1]) # this is useless
print(x, "is the binary of", number) # wrong order to print
注意。您還應該利用divmod, 而不是兩個單獨的%and//操作
uj5u.com熱心網友回復:
您可以執行以下操作:
number = 5
n = number
x = ""
while n:
x = str(n % 2) x
n //= 2
print("Decimal:", number)
print("Binary:", x)
輸出:
Decimal: 5
Binary: 101
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/336421.html
