用python将9名老师随机分配进3个教室,且保证每个教室至少2名老师

记录下自己的学习旅程,勿喷~ 

之前一直没想出来怎么确保每个教室至少2名老师,参考了下下面作者的思路,恍然大悟。

(Python学习) 10位老师随机分配到4个教室,保证每个教室至少有2个老师_buink的博客-CSDN博客

#!/usr/bin/python3
#encoding=utf-8
import random

offices=[[],[],[]]

teachers=['老师1','老师2','老师3','老师4','老师5','老师6','老师7','老师8','老师9']

#方法:先保证每个教室都有2名老师,在这基础上再将剩下的老师随机分配进教室

#从第一个教室开始,每个教室分配2名老师,两个变量,一是教室编号,二是老师数,所以需要做两次循环
z=0	#z教室编号,作为变量循环给3个教室分配,故循环3次
while z < 3:	#这里也可以用【for xxx in offices:】来代替3次循环
	y=0	#y老师数量,作为变量循环分配2名老师,故循环2次
	while y<2:		
		x=random.randint(0,len(teachers)-1)	#在0到当前teachers列表的长度范围内,随机抽取一位整数,作为下标,方便抽取后删除		
		offices[z].append(teachers[x])		#将该下标的老师分配进当前教室
		del teachers[x]				#该随机老师分配后,从teachers列表删除这名老师名单
		y+=1
	z+=1


#将剩下的老师随机分配进3个教室
for people in teachers:
	t=random.randint(0,2)
	offices[t].append(people)

#打印每个教室的老师情况
print("三个教室的老师数量分别为:%d,%d,%d\n"%(len(offices[0]),len(offices[1]),len(offices[2])))

index=1
for b in offices:
	print("第%d个教室的老师有:"%index,end="")
	#print("该教室具体老师有:")	
	for c in b:
		print("%s "%c,end="")
	index+=1
	print("\n")

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值