list1=[11,22,33]
list2=[22,33,44]
list3=[]
for i in list1:
if i in list2:
list3.append(i)
print('相同的元素有{}'.format(list3))
现在有8位老师,3个办公室,要求将8位老师随机的分配到三个办公室中
import random
# 赋初始值
teachers=['teacher1','teacher2','teacher3','teacher4','teacher5','teacher6','teacher7','teacher8']
rooms=['room1','room2','room3']
room1,room2,room3=[],[],[]
# 当列表不为空时,一直循环
while teachers:
teacher=random.choice(teachers)
teachers.remove(teacher)
room=random.choice(rooms)
eval(room).append(teacher)
print(f'room1包含{room1},room2包含{room2},room3包含{room3}')
##### (至少包含一个老师)
import random
teachers=['teacher1','teacher2','teacher3','teacher4','teacher5','teacher6','teacher7','teacher8']
rooms=['room1','room2','room3']
room1,room2,room3=[],[],[]
# 加了一个循环,当满足条件时(每个办公室至少包含一个老师),跳出循环,否则重新分配
while True:
while teachers:
teacher=random.choice(teachers)
teachers.remove(teacher)
room=random.choice(rooms)
eval(room).append(teacher)
if len(room1)==0 or len(room1)==0 or len(room1)==0:
continue
else:
break
print(f'room1包含{room1},room2包含{room2},room3包含{room3}')
##### 遍历办公室
import random
# 赋初始值
teachers=['teacher1','teacher2','teacher3','teacher4','teacher5','teacher6','teacher7','teacher8']
rooms=['room1','room2','room3']
room1,room2,room3=[],[],[]
# 当列表不为空时,一直循环
while teachers:
for i in rooms:
if teachers == []:
break
else:
teacher=random.choice(teachers)
teachers.remove(teacher)
eval(i).append(teacher)
print(f'room1包含{room1},room2包含{room2},room3包含{room3}')