我在我的Python代码中出现错误。这是代码我不明白为什么我的变量超出范围
binary=[]
bits=int(input("How many bits do you want to have? >>"))
numOfCombos=2**bits
lenOfPart=numOfCombos/2
x=0
y=0
z=0
while x!=numOfCombos:
binary.insert(x,[])
x+=1
x=0
while x!=lenOfPart:
binary[x].insert(0,"0")
x+=1
while x!=lenOfPart*2:
binary[x].insert(0,"1")
x+=1
x=0
p=0
while x!=bits:
lenOfPart=lenOfPart/2
while z!=len(binary)-1:
while p!=lenOfPart:
binary[y].insert(len(binary[y]),"0")
y+=1
p+=1
p=0
while p!=lenOfPart:
binary[y].insert(len(binary[y]),"1")
y+=1
p+=1
p=0
z+=1
y=0
x+=1
print(numOfCombos)
print(len(binary))
print(binary)
我得到读取
How many bits do you want to have? >>3
Traceback (most recent call last):
File "C:/Users/#####/AppData/Local/Programs/Python/Python36-32/binarygen.py", line 24, in <module>
binary[y].insert(len(binary[y]),"0")
IndexError: list index out of range
我不明白为什么我的变量不工作的错误。我测试了所有我能想到的东西。如果您有任何建议,请尽快回复。如果你认为整个程序是错误的,请在你的答案中插入一个工作版本。该程序的目的是为给定的位数生成所有可能的二进制组合。感谢您的时间和帮助。
什么是你试图做一个双重嵌套的循环可能不是正确的方式,因为它根本没有规模 – e4c5
你给了我们整个程序(而不是一个MCVE),没有评论,没有设计描述,并没有你的调试尝试的结果。请不要指望我们用单字母变量名称来逆向设计您的设计,并且没有任何帮助。 – Prune
你可以添加一些输入及其预期输出的例子吗? –