嘗試使這部分Python代碼重複,直到它獲得三個不同的結果。這不是實際的代碼,只是一個簡單的版本,可以做同樣的事情。循環一組if/else語句,直到列表變量在Python 3中具有三個唯一值3
roll = random.randint(1,100)
if roll < 10:
name += "alpha"
elif roll < 37:
name += "bravo"
elif roll < 50:
name += "charlie"
elif roll < 89:
name += "delta"
else:
name += "echo"
print(name)
基本上,我想這個代碼段,不斷重複,直到[名]有三個不同的值,然後我想輸出列出一個新行的所有三個值,每個。我不確定要做到這一點的最佳方法是什麼。感謝您的任何幫助
編輯:在我的實際代碼中,每個數字的範圍並不是均勻分佈的。我編輯了上面的內容來反映這一點。由於在獲得這五個可能的結果的機會是不同的,random.sample將無法正常工作(除非可以格式化爲每個結果不同的賠率)
'name'是不是列表。你需要使用一個列表。 – 2011-05-22 22:18:07
http://stackoverflow.com/questions/352670/weighted-random-selection-with-and-without-replacement並關注鏈接http://stackoverflow.com/questions/2140787/select-random-k-elements - 從 - 一個列表,其元素 - 具有權重 – 2011-05-23 13:19:56