Python程序开发基础 课件 任务1 嵌套列表-随机分配办公室_第1页
Python程序开发基础 课件 任务1 嵌套列表-随机分配办公室_第2页
Python程序开发基础 课件 任务1 嵌套列表-随机分配办公室_第3页
Python程序开发基础 课件 任务1 嵌套列表-随机分配办公室_第4页
Python程序开发基础 课件 任务1 嵌套列表-随机分配办公室_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

嵌套列表-随机分配办公室任务描述

为扩大招生规模,学校最近新招聘了6名教师,已知该学校有2个空闲办公室且工位充足,现需要随机安排这6名教师的工位。

本任务要求编写程序,将6名教师随机分配到2个办公室中。嵌套列表01

列表可以存储任何元素,当然也可以存储列表,若列表中存储的元素也是列表,则称为嵌套列表。

创建嵌套列表嵌套列表的创建方式与普通列表的创建方式相同。[[0],[1],[2,3]]以上代码创建了一个嵌套列表,该列表中包含3个列表类型的元素,其中索引为0的元素是[0],索引为1的元素是[1],索引为2的元素是[2,3]。

访问嵌套列表

若希望访问嵌套的内层列表中的元素,需要先使用索引获取内层列表,再使用索引访问内层列表中的元素。

访问嵌套列表获取嵌套的第一个内层列表中的第一个元素的示例代码如下:nesting_li=[['李瑶','王濯'],['李蒙'],['张宝','李清']]print(nesting_li[0][0])李瑶若希望向嵌套的内层列表中添加元素,需要先获取内层列表,再调用相应的方法往指定的列表中添加元素:nesting_li=[['hi'],['Python']]nesting_li[0].append('Python')print(nesting_li)[['hi','Python'],['Python']]任务实现—随机分配办公室02

任务分析

本任务中,学校有2个空闲的办公室,每个办公室都可以随意容纳教师。由于学校和办公室分别用于存储办公室与教师,且它们中数据的个数是可变的,因此可以用列表来表示学校和办公室,用嵌套列表表示学校与办公室的包含关系,这里,表示第一个办公室的空列表的索引为1,表示第二个办公室的空列表的索引为2。

任务分析

随机分配办公室,可以使用random.randint(0,1)实现,需使用importrandom导入random模块。随机分配办公室是将每名老师逐个安排到任意的办公室中,这个过程可拆分为两步,第一步就是逐个取出教师姓名,可用遍历列表元素来实现;第二步就是安排到任意的办公室,可用random模块中randint()方法生成0-1之间的随机整数,将产生的整数作为索引来随机获取嵌套列表的内层列表,之后在该列表中执行添加教师姓名的操作。程序代码#随机分配办公室importrandomoffices=[[],[]]names=['张老师','李老师','赵老师','高老师','刘老师','周老师']fornameinnames:index=random.randint(0,1)print(index)offices[index].append(name)num=1forte_nameinoffices:print('办公室%d的人数为:%d'%(num,len(te_name)))num+=1fornameinte_name:print("%s"%name,end='')print("")程序总结

以上代码首先定义了一个包含2个办公室的嵌套列表offices,定义了另一个包含6位教师姓名的列表names,然后将生成的0~1之间的随机数作为索引获取嵌套列表offices中的任一内层列表,将遍历names取出的元素添加到该内层列表中,直至遍历出最后一个元素为止,最后输出每个办公室的教师分配情况。任务总结

列表式可以嵌套的,嵌套列表是指列表中存储的元素也是列表。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论