利用python如何实现团队成员动态抓阄?
解决思路:
1 确定团队成员个数num,然后根据成员个数生成元素非重复的数组;
2 构成一个团队成员字典,键:成员名 值:0, 然后将生成的数组分别赋值给字典键对应的值;
话不多说,看代码便知:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | # -*- coding: utf-8 -*- import random # 团队成员名对应随机数字典 nsdlTeamMember = { 'mem1' : 0 , 'mem2' : 0 , 'mem3' : 0 , 'mem4' : 0 , 'mem5' : 0 , 'mem6' : 0 , 'mem7' : 0 , 'mem8' : 0 } def teamMarking(teamMember): #存储生成非重复随机数的列表 chooseNumList = [] # 生成成员个数的非重复随机数 for i in range ( len (teamMember.keys())): num = random.randint( 1 , len (teamMember.keys())) while num in chooseNumList: num = random.randint( 1 , len (teamMember.keys())) chooseNumList.append(num) # 将生成的随机数数组赋值给成员键对应的值 print ( "一共有个%d成员,抓阄结果如下:" % len (teamMember.keys())) # print("一共有个%d成员,分别是:%s\n抓阄结果如下:" %(len(teamMember.keys()),' '.join(teamMember.keys()))) index = 0 for k,v in teamMember.items(): v = chooseNumList[index] index + = 1 print (k.ljust( 8 ) + str (v).rjust( 4 )) if __name__ = = '__main__' : teamMarking(nsdlTeamMember) |
------- 实际运行结果:----------
[cxy@localhost-live python]$ python team_marking.py
一共有个8成员,抓阄结果如下:
mem5 1
mem4 7
mem7 8
mem6 3
mem1 2
mem3 4
mem2 5
mem8 6
[cxy@localhost-live python]$ python team_marking.py
一共有个8成员,抓阄结果如下:
mem5 6
mem4 5
mem7 3
mem6 1
mem1 8
mem3 4
mem2 7
mem8 2
勤苦修行得自在,道力有边边亦无边!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
· .NET 进程 stackoverflow异常后,还可以接收 TCP 连接请求吗?
· 本地部署 DeepSeek:小白也能轻松搞定!
· 基于DeepSeek R1 满血版大模型的个人知识库,回答都源自对你专属文件的深度学习。
· 在缓慢中沉淀,在挑战中重生!2024个人总结!
· Tinyfox 简易教程-1:Hello World!
· 大人,时代变了! 赶快把自有业务的本地AI“模型”训练起来!