我在我的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
你可以添加一些輸入及其預期輸出的例子嗎? –