利用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

posted @   无边身尊者  阅读(789)  评论(0编辑  收藏  举报
编辑推荐:
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
· .NET 进程 stackoverflow异常后,还可以接收 TCP 连接请求吗?
阅读排行:
· 本地部署 DeepSeek:小白也能轻松搞定!
· 基于DeepSeek R1 满血版大模型的个人知识库,回答都源自对你专属文件的深度学习。
· 在缓慢中沉淀,在挑战中重生!2024个人总结!
· Tinyfox 简易教程-1:Hello World!
· 大人,时代变了! 赶快把自有业务的本地AI“模型”训练起来!
点击右上角即可分享
微信分享提示