[問題] random 不重複pick

看板Python作者 (...)時間8年前 (2017/04/18 11:34), 編輯推噓5(504)
留言9則, 7人參與, 最新討論串1/1
我需要選幾個顏色, 透過random.choice來選擇. 但random選擇的不可等於我目前的顏色. 不知道這段code可否有簡單,較美觀的呈現方式. 下面是我現在的code http://codepad.org/YgotbC7n thanks. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.139.122.132 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1492486465.A.E1E.html

04/18 11:37, , 1F
1. 你可以先filter要choice的list
04/18 11:37, 1F

04/18 11:37, , 2F
2. 不建議用try except 除非是要raise給caller handle
04/18 11:37, 2F

04/18 11:59, , 3F
choice([_ for _ in colours if _ != self.color])
04/18 11:59, 3F

04/18 12:00, , 4F
你可以選2個值,第一個是C的話就選第2個
04/18 12:00, 4F

04/18 12:01, , 5F
意思是一樣的
04/18 12:01, 5F

04/18 13:24, , 6F
感謝ch的作法, 學到一招了!
04/18 13:24, 6F

04/18 14:18, , 7F
filter 掉的機率會是比較正確的
04/18 14:18, 7F

04/18 18:48, , 8F
機率應該一樣吧? 問題是一次取兩個有比較好寫嗎?
04/18 18:48, 8F

04/19 13:31, , 9F
為什麼不減掉?
04/19 13:31, 9F
文章代碼(AID): #1OzOb1uU (Python)
文章代碼(AID): #1OzOb1uU (Python)