【发布时间】:2015-07-07 16:26:36
【问题描述】:
我正在使用手动方法为 Eg: ([6,4,2,0]) 序列中定义的值生成二进制数。
下面的代码为输入中提到的位置写入高位 (1),并为输入中未提及的位置写入低位。例如:one_bits([6,4,2,0]) 将给出1010101,表示第 6、4、2、0 位为高,其余为低 (0)。
以下代码倾向于按顺序生成输出,而不是按要求连续生成输出 ([1010101])。在这里,输出是在同一个 for 循环中的两个不同点生成的。有人可以帮我吗?
def one_bits(x,lst=None):
if lst == None:
toplevel = True
lst = []
else:
toplevel = False
for i in range(0,x[0]+1):
if i in x:
print 1
lst.append(i)
else:
print 0
lst.append(i)
【问题讨论】:
-
发布问题时,您不必用
"""包围文本。