案例:把8名讲师随机分配到3个教室
列表嵌套:有3个教室[[],[],[]],8名讲师['A','B','C','D','E','F','G','H'],将8名讲师随机分配到3个教室中。
分析:
一步步来解决。
首先, 要求有3个教室,第一间教室、第二间教室、第三间教室,怎么表示??
明确了是列表嵌套,用 [[],[],[]] 那就直接设置一个变量名,接收列表数据。
代码:
rooms = [[],[],[]]
# 如果要确定某个教室的位置,那就利用索引下标
# 第一间教室
rooms[0]
# 第二间教室
rooms[1]
# 第三间教室
rooms[2]
其次:确定了有8名老师,需要依次从8名老师中,选出一个人进行分配,这个时候,就可以用
while或for进行遍历操作
相关链接:Python---循环---while循环-CSDN博客
Python-----for循环基本语法及其应用---对序列进行遍历循环--内部会自动更新计数器(类似while循环里面的 i += 1)-CSDN博客
最后:怎么在每次循环读取讲师的过程中,将其随机写入到某个教室?
rooms[0或1或2] = 读取的讲师信息
随机,用random,相关链接:Python--随机出拳(random)--if判断--综合案例练习:石头剪刀布-CSDN博客
综合代码:
import random
# 1、定义3间教室以及8名讲师
rooms = [[], [], []]
teachers = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H']
# 2、对所有的讲师进行遍历操作
for teacher in teachers:
# 3、生成随机数
index = random.randint(0, 2)
# 每个随机房间的索引下标后,都append新增一个老师
rooms[index].append(teacher)
# 3、输出每个教室的讲师信息
# print(rooms)
i = 1
for room in rooms:
print(f'第{i}个教室中的讲师:{room}')
i += 1