[问题] 吃药随机分配

楼主: 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