[問題] 吃藥隨機分配

作者: jackflu (jackflu)   2017-06-30 12:01:22
目的:不重複的分配吃藥,假設有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
我只能寫出會重複的
新手爬文後想不出來請教
感謝指導
作者: kuso0516 (隱)   2017-06-30 12:08:00
for t in take : drug.remove(t)
作者: CaptainH (Cannon)   2017-06-30 13:44:00
permutation ...or shuffle
作者: y3k (激流を制するは静水)   2017-06-30 14:10:00
最快就是拿出來後要從drug中移除阿...
作者: APM99 (血統純正台北人)   2017-06-30 15:42:00
drug = [ s for s in drug if s not in take]
作者: ErnieYang ( )   2017-06-30 23:47:00
用shuffle 然後pop
作者: y3k (激流を制するは静水)   2017-07-01 12:35:00
random.shuffle(drug) 然後print(drug)出來看看便知我認為不需要了 再短會降低可閱姓

Links booklink

Contact Us: admin [ a t ] ucptt.com