在为我的朋友编写二进制转换程序的同时,我使用X[N] = Y
命令X
是一个列表,N
的索引号是列表(由名为Bit
的变量表示)和Y
是我分配给列表N
中索引X
中的变量的值。
嗯,我应该只是把代码和解释,但基本上它是说索引超出范围,而代码Numbers[Bit] = 0
或Number[Bit] = 1
在while循环中,但它适用于其他地方在代码中。变量Bit
等于整数7,列表Numbers
包含变量a
,b
,c
,d
,{{1} },e
,f
和g
所有分开的含义都有0-7个索引。我尝试使用h
值为0,这也不起作用。但是,只要Bit
代码部分放在while循环之外,代码就可以正常工作。有什么想法吗?
Numbers[Bit]
答案 0 :(得分:0)
您正在与Input > Num
进行比较,Input >= Num
。
要按正确的顺序获取位,您可以使用:
def loop():
number = int(input("What Number do you want to convert?" ))
bits = [(number>>b) & 1 for b in range(7,-1,-1)]
print(bits)