0
學習python我正在實施Bulls and Cows。所以我需要生成一個「隨機」數字。我嘗試這樣做:IndexError on list.pop()列表理解
possibilities = range(10)
number = "".join([str(possibilities.pop(random.choice(possibilities))) for i in range(4)])
,我認爲是一個很好的解決問題的方法,但一旦在每兩奔跑,我得到該線路上的IndexError:IndexError: pop index out of range
所以看起來random.choice( )給了我一個不存在的指數。怎麼來的? 或者我做了一個錯誤的假設,而完全是其他問題? 想想吧,我還沒有一個線索如何調試這樣的陳述,任何指針呢?
編輯
我的第一個解決方案是程序種:
for i in range(4):
idx = random.choice(possibilities)
number = number + str(possibilities[idx])
del possibilities[idx]
此代碼似乎做同樣的事情與上面的一行,但無論如何沒有問題。
你是對的,我怎麼能錯過了..感謝這個偉大的解決方案! –