根据报名人员,让他们随机组队

#coding=utf-8
from random import choice
vanguards = ['sl','qb','zy','lf','wc','gh','wl','xy','yt','sln'] #前锋人员
guards =[] #后卫
almighty =[] #全能,既能做后卫也能做前锋
result = {}
print "报名人数:",len(vanguards)
#print "后卫报名人数:",len(guards)
#print "全能人员人数:",len(almighty)
print "共可组成:",(len(vanguards)+len(guards)+len(almighty))/2,"队"
def team(La,Lb):
    while (len(La) and len(Lb)) > 0:
        vanguard = choice(La)
        La.remove(vanguard)
        guard = choice(Lb)
        Lb.remove(guard)
        result[vanguard] = guard
    return max(La,Lb)
def team2(Lc):
    while len(Lc) > 1:
        p1 = choice(Lc)
        Lc.remove(p1)
        p2 = choice(Lc)
        Lc.remove(p2)
        result[p1] = p2
    if Lc != []:
        print "剩下",Lc,"没组队"

first1 = team(vanguards,guards) # 前锋和后卫先组队
if first1 == []:
    team2(almighty)
else:
    secd = team(first1,almighty)# 剩下的前锋或者后卫和全能组队
    if secd !=[]:
        team2(secd) #最后组内的互相组队
i=1
for k,v in result.items():
    print i,"---",k,"和",v
    i+=1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值