python小白,麻烦大神看一下这个代码的流程是怎么样的,names里面是怎么随机到 里面的,就这个看不懂
问题描述:
#encoding=utf-8
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_names in offices:
print('办公室%d的人数为:%d'%(i,len(temp_names)))
i+=1
for name in temp_names:
print("%s"%name,end='')
print("\n")
print("-"*20)
答
index = random.randint(0,2)
这里生成一个0或者1的随机数,各50%的概率
如果是0,就在第一个前面插入,如果是1就在第一个后面插入,所以就随机打乱了。
答
因为offices长度为3,所以使用random.randint(0,2)随机生成0、1、2,作为数组索引
多次运行,你会发现数组内容每次都是变化的,而且有时某个数组元素里面是空的,因为索引是随机的,某个索引多次出现而其他索引没有出现