我想写一个程序,把十进制数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)发布于 2021-10-25 03:33:13
以下是您的代码的修复:
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__,而不是两个单独的%和//操作
发布于 2021-10-25 03:32:13
以下是您可以执行的操作:
number = 5
n = number
x = ""
while n:
x = str(n % 2) + x
n //= 2
print("Decimal:", number)
print("Binary:", x)输出:
Decimal: 5
Binary: 101https://stackoverflow.com/questions/69702530
复制相似问题