Python基础听课笔记
需求:为8位老师随机分配办公室
#先定义一个列表用来存储8位老师的姓名
teachers = ['xiaowang', 'xiaoli', 'xiangming', 'xiaohua', 'xiaogang', 'lili', 'huyu', 'wuyu'] #定义一个空嵌套列表,里面有三个空列表用来等待其他老师的加入
office = [[],[],[]] #为8位老师随机分配办公室:产生随机数的方式
for teacher in teachers:
index = random.randint(0,2)
office[index].append(teacher)
# print(office) #将每个办公室里的老师打印出来,并显示办公室编号
i = 1
for room in office:
#print(room)
print("办公室%d里的老师为"%i)
for name in room:
print(name) print("-"*10)
i+=1
效果如下:

扩展:怎样保证每个办公室至少有两个人?
import random
#先定义一个列表用来存储8位老师的姓名
teachers = ['xiaowang', 'xiaoli', 'xiangming', 'xiaohua', 'xiaogang', 'lili', 'huyu', 'wuyu'] #定义一个空嵌套列表,里面有三个空列表用来等待其他老师的加入
office = [[],[],[]] #获取空列表的长度,也就是办公室的个数
listLength = len(office) #先为三个办公室中的每个随机分配两个老师
for room in range(0,listLength):
i = 0
while i<2: #为每个办公室随机分配两位老师
length = len(teachers)-1
teacherIndex = random.randint(0,length) #产生0~7之间的随机数
teacher = teachers[teacherIndex] #随机选择一个老师
office[room].append(teacher) #将被选中的老师添加到办公室号为room的办公室中 del teachers[teacherIndex] #将已经被选中的老师从列表中删除
i+=1 #将剩下的两位老师随机分配到三个办公室,这两位可能会被分配到同一个办公室
for j in range(0,2):
index = random.randint(0,2)
rest_teacher = teachers[j]
office[index].append(rest_teacher) j+=1 #将每个办公室里的老师打印出来,并显示办公室编号
k = 1
for roomNum in office:
print("办公室%d里的老师为:"%k)
for name in roomNum:
print(name) print("-"*10)
k+=1
效果如下:

Python基础听课笔记的更多相关文章
- 0003.5-20180422-自动化第四章-python基础学习笔记--脚本
		0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ... 
- python基础教程笔记—即时标记(详解)
		最近一直在学习python,语法部分差不多看完了,想写一写python基础教程后面的第一个项目.因为我在网上看到的别人的博客讲解都并不是特别详细,仅仅是贴一下代码,书上内容照搬一下,对于当时刚学习py ... 
- python 基础学习笔记(1)
		声明: 本人是在校学生,自学python,也是刚刚开始学习,写博客纯属为了让自己整理知识点和关键内容,当然也希望可以通过我都博客来提醒一些零基础学习python的人们.若有什么不对,请大家及时指出, ... 
- Python基础学习笔记(十三)异常
		参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-exceptions.html Python用异常对象(excep ... 
- Python基础学习笔记(十二)文件I/O
		参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-files-io.html ▶ 键盘输入 注意raw_input函 ... 
- Python基础学习笔记(十一)函数、模块与包
		参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-functions.html 3. http://www.liao ... 
- Python基础学习笔记(十)日期Calendar和时间Timer
		参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-date-time.html 3. http://www.liao ... 
- Python基础学习笔记(九)常用数据类型转换函数
		参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-variable-types.html 3. http://www ... 
- Python基础学习笔记(八)常用字典内置函数和方法
		参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-dictionary.html 3. http://www.lia ... 
随机推荐
- 学习总结javascript和ajax,php,和css
			1,javascript 1,js可以获取和修改html的属性和内容: 通过什么获取? window.onload=function{ document.getElementById("xx ... 
- 20175204 张湲祯 2018-2019-2《Java程序设计》 第一周学习总结
			20175204 张湲祯 2018-2019-2<Java程序设计>第一周学习总结 教材学习内容总结 -第一章Java入门要点: -Java的地位:具有面向对象,与平台无关,安全稳定和多线 ... 
- python 进程、线程与协程的区别
			进程.线程与协程区别总结 - 1.进程是计算器最小资源分配单位 - 2.线程是CPU调度的最小单位 - 3.进程切换需要的资源很最大,效率很低 - 4.线程切换需要的资源一般,效率一般(当然了在不考虑 ... 
- 根据SQL_ID查询并杀会话
			Oracle 根据SQL_ID查询并杀会话,清空执行计划缓冲池2018年09月06日 10:31:40 小学生汤米 阅读数:4731. 查询最近五分钟内最高频次SQL,查看event select t ... 
- word 内容控件属性编辑
			场景: 别人发给自己一份word模板,基于统一性,里面包含了很多“内容控件”,一般情况下,只需要根据内容控件进行编辑即可,但如果想对内容控件本身做编辑操作,例如删除等. 操作: 单击 文件>选项 ... 
- HttpClient当HTTP连接的时候出现大量CLOSE_WAIT连接(转)
			ESTABLISHED 表示正在进行网络连接的数量 TIME_WAIT 表示表示等待系统主动关闭网络连接的数量 CLOSE_WAIT 表示被动等待程序关闭的网络连接数量 上篇文章给出了解决TIME_W ... 
- [原创]基于Zynq AXI-Bram Standalone & Linux 例程
			基于Zynq AXI-Bram Standalone & Linux 例程 待添加完善中 
- Spring Boot+CXF搭建WebService(转)
			概述 最近项目用到在Spring boot下搭建WebService服务,对Java语言下的WebService了解甚少,而今抽个时间查阅资料整理下Spring Boot结合CXF打架WebServi ... 
- 如何在cocos中为节点添加监听事件
			一般在监听键盘事件时,可是采用以下方式来监听键盘事件: 以及记得定义取消监听的函数(这个摧毁函数会自己调用吗?): 同时这里还有一种传统的监听方式: 但是cocos官方的文档建议我们不要使用这种方式, ... 
- sklearn数据库-【老鱼学sklearn】
			在做机器学习时需要有数据进行训练,幸好sklearn提供了很多已经标注好的数据集供我们进行训练. 本节就来看看sklearn提供了哪些可供训练的数据集. 这些数据位于datasets中,网址为:htt ... 
