Python实现随机分配教师办公与好友管理系统
需积分: 1 11 浏览量
更新于2024-08-03
收藏 397KB DOCX 举报
在本次Python编程实验中,涉及到了两个核心任务:随机分配办公室和创建一个简易的好友管理系统。这两个任务都展示了Python语言在实际问题中的应用。
**任务一:随机分配办公室**
在这个任务中,主要目标是利用Python的随机模块`random`实现8名教师的随机分配到3个空闲办公室。首先,通过列表的嵌套结构来模拟学校和办公室的关系,将学校视为外层列表,每个办公室作为内层列表的元素。这样做的好处是可以动态管理办公室数量,因为办公室的数量是可变的。
- **知识点**:
- 列表嵌套:使用嵌套列表来表示学校和办公室的层次关系,索引1-3对应三个空闲办公室。
- 随机选择:`random.randint(0, 2)`用于生成0到2(含)之间的随机整数,代表办公室的索引,实现教师的随机分配。
- 遍历与插入:遍历教师列表,对每个教师,使用随机数决定其分配到哪个办公室,并插入到对应的内层列表。
代码示例可能包括以下部分:
```python
import random
# 假设教师列表
teachers = ['张老师', '刘老师', '王老师', '赵老师', '李老师', '高老师', '周老师', '吴老师']
# 存储空闲办公室的列表
offices = [[] for _ in range(3)]
# 随机分配教师
for teacher in teachers:
office_index = random.randint(0, 2)
offices[office_index].append(teacher)
# 打印结果
for i, office in enumerate(offices):
print(f"办公室{i+1}的人数为:{len(office)}")
print(*office, sep='\n')
```
**任务二:好友管理系统**
此任务模拟了一个基础的社交软件好友管理系统,主要功能包括添加好友、删除好友、备注好友和显示好友。用户可以通过输入序号选择相应的操作。
- **知识点**:
- 用户交互:通过循环和输入提示,实现用户与程序的交互。
- 字典或列表:可以使用字典存储好友信息,键为好友姓名,值包含相关信息,方便后续操作。
- 功能实现:
- 添加好友:接收用户输入的姓名并添加到字典或列表中。
- 删除好友:查找并移除指定好友。
- 备注好友:更新字典或列表中好友的备注信息。
- 显示好友:遍历好友列表或字典,显示所有好友及其相关信息。
代码示例可能包括:
```python
# 假设初始的好友字典
friends = {}
# 添加好友
def add_friend():
name = input("请输入要添加的好友:")
friends[name] = {'备注': '默认'}
print("好友添加成功")
# 删除好友
def remove_friend():
name = input("请输入删除好友姓名:")
if name in friends:
del friends[name]
print("删除成功")
else:
print("好友不存在")
# 其他功能实现同理
# 主循环,接收用户输入并调用相应函数
while True:
user_input = int(input("请输入您的选项:"))
if user_input == 1: # 添加好友
add_friend()
elif user_input == 2: # 删除好友
remove_friend()
# ...其他功能
```
这两个任务都展示了Python如何处理动态数据结构(如列表嵌套)以及如何通过编程实现简单的交互式应用程序,包括随机性和用户输入处理。熟练掌握这些概念和技巧,能够帮助你更好地理解和应用Python编程在实际项目中。
2023-11-04 上传
2022-01-04 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
1010_python全栈成长师
- 粉丝: 118
- 资源: 14
最新资源
- 黑板风格计算机毕业答辩PPT模板下载
- CodeSandbox实现ListView快速创建指南
- Node.js脚本实现WXR文件到Postgres数据库帖子导入
- 清新简约创意三角毕业论文答辩PPT模板
- DISCORD-JS-CRUD:提升 Discord 机器人开发体验
- Node.js v4.3.2版本Linux ARM64平台运行时环境发布
- SQLight:C++11编写的轻量级MySQL客户端
- 计算机专业毕业论文答辩PPT模板
- Wireshark网络抓包工具的使用与数据包解析
- Wild Match Map: JavaScript中实现通配符映射与事件绑定
- 毕业答辩利器:蝶恋花毕业设计PPT模板
- Node.js深度解析:高性能Web服务器与实时应用构建
- 掌握深度图技术:游戏开发中的绚丽应用案例
- Dart语言的HTTP扩展包功能详解
- MoonMaker: 投资组合加固神器,助力$GME投资者登月
- 计算机毕业设计答辩PPT模板下载