首页技术文章正文

Python培训:列表嵌套案例——分配老师到不同的办公室

更新时间:2022-07-12 来源:黑马程序员 浏览量:

IT培训班

  已知某学校有3个办公室和8名教师,请编写一个程序,完成教师和办公室的随机分配。

  要完成以上要求,可以按照以下步骤来设计程序:

  (1)定义一个包含3个空列表的列表offices,该列表中每个空列表代表空办公室,下标代表办公室的编号;

  (2)定义一个列表names,该列表中存储8位教师的姓名;

  (3)遍历names取出每个教师的姓名,之后再随机选取一个代表办公室的空列表,将教师姓名添加到里面。

  (4)输出每个办公室列表的信息。

  接下来,按照上述要求编写程序实现案例,代码如例5-13所示。

  例5-13 分配老师到办公室

import random
# 定义一个列表用来保存3个办公室
offices = [[], [], []]
# 定义一个列表用来存储8位老师的名字
names = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H']
for name in names:
    index = random.randint(0, 2)
    offices[index].append(name)
i = 1
for temp in offices:
    print('办公室%d的人数为:%d'%(i, len(temp)))
    i += 1
    for name in temp:
        print("%s"%name, end='')
    print("-" *20)

  在例5-13中,第1行导入了提供随机数操作的模块random,第3行定义了一个列表offices,其内部存放了3个表示办公室的空列表,表明此时还没有分配老师,第5行定义了一个保存了所有老师名字的列表names,第6~8行代码遍历names列表,调用random.randint函数获取了一个随机索引,并且将拿到的姓名添加到随机列表中;第9~15行使用嵌套的for循环输出了每个办公室的人数分配情况。

  由于办公室和老师都是随机分配的,因此,程序的输出结果每次都会不一样,图5-14是其中的一种分配方式。

1657598223559_运行结果.jpg

  图5-14 运行结果

分享到:
在线咨询 我要报名
和我们在线交谈!