[問題] 吃藥隨機分配
目的:不重複的分配吃藥,假設有7種藥,3餐吃2顆,睡前吃1顆。
想要達成:
Morning : [4, 5]
Noon : [7, 3]
Night : [2, 1]
Sleep : [6]
我寫的 2.7版本
import random
drug = [1, 2, 3, 4, 5, 6, 7 ]
take = random.sample(drug,2)
print "Morning : " , take
take = random.sample(drug,2)
print "Noon : " , take
take = random.sample(drug,2)
print "Night : " , take
take = random.sample(drug,1)
print "Sleep : " , take
我只能寫出會重複的
新手爬文後想不出來請教
感謝指導
---更新 感謝幾位大大 目前只看的懂一樓大大的---
import random
drug = [1, 2, 3, 4, 5, 6, 7 ]
take = random.sample(drug,2)
print "Morning : " , take
for t in take : drug.remove(t)
take = random.sample(drug,2)
print "Noon : " , take
for t in take : drug.remove(t)
take = random.sample(drug,2)
print "Night : " , take
for t in take : drug.remove(t)
take = random.sample(drug,1)
有更漂亮的寫法嗎?
--- 再次感謝 換了看起來比較舒服 ---
import random
drug = [1, 2, 3, 4, 5, 6, 7 ]
random.shuffle(drug)
print drug
print "Moring: ",(drug[0],drug[1])
print "Noon: " ,(drug[2],drug[3])
print "Night: " ,(drug[4],drug[5])
print "Sleep: " , drug[6]
還希望可以更簡短,繼續研究看看
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.231.113.217
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1498795285.A.BC8.html
→
06/30 12:08, , 1F
06/30 12:08, 1F
推
06/30 13:44, , 2F
06/30 13:44, 2F
→
06/30 13:45, , 3F
06/30 13:45, 3F
→
06/30 14:10, , 4F
06/30 14:10, 4F
推
06/30 15:42, , 5F
06/30 15:42, 5F
※ 編輯: jackflu (36.231.113.217), 06/30/2017 21:09:35
推
06/30 23:47, , 6F
06/30 23:47, 6F
→
07/01 12:35, , 7F
07/01 12:35, 7F
※ 編輯: jackflu (1.163.97.26), 07/01/2017 18:03:42
→
07/01 22:29, , 8F
07/01 22:29, 8F