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 ...
随机推荐
- 「luogu1417」烹调方案
题目链接 :https://www.luogu.org/problemnew/show/P1417 直接背包 -> 30' 考虑直接背包的问题:在DP时第i种食材比第j种食材更优,但由于j&l ...
- 008_ssl Certificate Pinning
证书锁定Certificate Pinning技术 在中间人攻击中,攻击主机通常截断客户端和服务器的加密通信.攻击机以自己的证书替代服务器发给客户端的证书.通常,客户端不会验证该证书,直接接受该证书, ...
- 【easy】100. Same Tree
判断两棵二叉树是否相等 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left ...
- lnmp.org 安装环境的,root权限都没法删除网站文件夹,问题解决-转
rm -rf删除网站目录时出现rm: cannot remove `.user.ini': Operation not permitted rm -rf删除网站目录时出现rm: cannot remo ...
- Linux /etc/sudoers 文件详解
[root@test ~]# cat /etc/sudoers## Sudoers allows particular users to run various commands as## the r ...
- sublime的Vue语法高亮插件安装
1.准备语法高亮插件vue-syntax-highlight. 下载地址: https://github.com/vuejs/vue-syntax-highlight 下载页面并下载: 解开压缩包vu ...
- 关于strcpy函数形参类型的解析和指针作为输入型输出型参数的不同
在C语言中,字符串一直都是热点,关于strcpy函数大家都很熟悉,但是真正了解的很少,一旦用到总会报一大堆莫名其妙错误,今天我就来给大家详细剖析一下strcpy函数. 虽然不能看到strcpy的内部实 ...
- linux 修改history带有时间
今天在网上学到了给linux的history添加时间.方法如下: 首先已知HISTTIMEFORMAT可以给history设置时间:临时修改直接赋值:HISTTIMEFORMAT="%F % ...
- SpringBoot图片上传(四) 一个input上传N张图,支持各种类型
简单介绍:需求上让实现,图片上传,并且可以一次上传9张图,图片格式还有要求,网上找了一个测试了下,好用,不过也得改,仅仅是实现了功能,其他不尽合理的地方,还需自己打磨. 代码: //html<d ...
- Django—模型
索引 1.定义模型类 2.模型类 3.字段查询 4.查询集 5.模型类关系 6.模型类扩展 ORM简介 ORM,全拼Object-Relation Mapping,中文意为对象-关系映射,是随着面向对 ...