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 ...
随机推荐
- 阿里的fastJson.jar jsonArray 和 list 互转
阿里的fastJson.jar: //list转换为json List<CustPhone> list = new ArrayList<CustPhone>(); String ...
- git知识总结-1.git基础之基本术语
1.前言 git是一种分布式版本管理工具,本文主要是通过阅读博客中几篇讲述git的优秀文章,并对文章进行整理.提炼总结得出一份git的说明文档. 本文档介绍了git的基本原理及常用操作,目标是通过阅读 ...
- select2 下拉搜索控件
1.添加相应的script链接 jquery: <script type="text/javascript" src="http://cdn.bootcss.com ...
- SSM(SpringMVC Spring Mybatis)框架整合搭建
1.新建一个web工程. 2.首先看一下整体的框架结构: 3.将ssm框架搭建所需要的jar包复制到lib目录下 3.需要配置各个配置文件. 1)配置web.xml文件: <?xml versi ...
- bzoj1040基环树
... st#include<cstdio> #include<iostream> #include<algorithm> #include<cmath> ...
- TensorFlow的Bazel构建文件结构
目录 说明 分析 全局设定文件:$TF_ROOT/WORKSPACE 外部依赖项入口:tensorflow/workspace.bzl 看看有多少package? 本来是想理解一下TF源码编译过程的, ...
- 连接慢的主要原因是DNS解析导致
连接慢的主要原因是DNS解析导致解决方法: 1.在ssh服务端上更改/etc/ssh/sshd_config文件中的配置为如下内容:UseDNS no# GSSAPI optionsGSSAPIAut ...
- SQL反模式学习笔记16 使用随机数排序
目标:随机排序,使用高效的SQL语句查询获取随机数据样本. 反模式:使用RAND()随机函数 SELECT * FROM Employees AS e ORDER BY RAND() Limit 1 ...
- Android人脸检测1(静态图片)
搭建Android人脸识别环境花了很长时间(可以查看之前的文章),解决Android开发中的杂七杂八小问题也耗时不少. 今天记录一下,点击选择照片或者拍照上传照片进行人脸检测的小demo. (andr ...
- 毕向东—Java基础知识总结(超级经典)
Java基础知识总结(超级经典) 写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部分用到哪些语句,方法,和对象. 4,代码实现.用具体的java ...