栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

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

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

用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,%dn"%(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")

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/488056.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号