#decimalToBinary
num=int(input("Enter number"))
while num!=0:
bin=num%2
num=num//2
print(bin,end=" ")
假设输入为13。输出为:1 0 1 1.
如何反向打印(即1 1 0 1)?
答案 0 :(得分:2)
将其存储在列表中,然后反向打印。
#decimalToBinary
num=int(input("Enter number"))
output = []
while num!=0:
bin=num%2
num=num//2
output.append(bin)
print (output[::-1])
将结果打印为字符串
print (' '.join([str(o) for o in output[::-1]]))
编辑 如comments中的建议,这是避免使用列表的方法。
#decimalToBinary
num=int(input("Enter number"))
output = ''
while num!=0:
bin=num%2
num=num//2
output = str(bin) + output
print (output)
答案 1 :(得分:1)
如果不使用一些更困难的技巧来尝试在控制台中打印内容,那么在循环中建立字符串可能会更容易:
num=int(input("Enter number"))
digits = []
while num!=0:
bin=num%2
num=num//2
digits.append(bin)
,然后将其反转:
print(digits[::-1]) #this will possibly need formatting.
要使用空格格式化,请尝试:
print(" ".join(str(x) for x in L[::-1]))
答案 2 :(得分:1)
您可以将整个结果构建为字符串,然后将其反转:
num = 13
bin = ""
while num!=0:
bin += str(num%2) + " "
num=num//2
bin = bin.strip();
print(bin[::-1])
输出:
1 1 0 1
答案 3 :(得分:0)
对于您的示例,这应该可以工作:
num=int(input("Enter number"))
lst=list()
while num!=0:
bin=num%2
num=num//2
lst.append(bin)
print(lst,lst[::-1])
输出:
Enter number13
[1, 0, 1, 1] [1, 1, 0, 1]
答案 4 :(得分:0)
好吧,您可以将 bin 的值添加到数组中,或者只是将 bin 设置为数组并附加到该数组中,然后反向打印该数组。
from __future__ import print_function
num=int(input("Enter number"))
bin = []
while num!=0:
bin.append(num%2)
num=num//2
print(*bin[::-1], sep=' ')