Files
PythonLearn/01_python基础/1_8_列表/practice.py
2026-07-28 16:19:52 +08:00

96 lines
3.2 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 第 1-8 课课堂练习Agent 工具清单管理器
#
# 完成要求:
# 1. 根据注释完成列表的创建、修改、添加、删除、查询、排序和复制。
# 2. 使用有意义的英文蛇形变量名。
# 3. 调用 remove() 或 index() 前先判断元素是否存在。
# 4. 不要删除题目注释。
# 5. 完成后运行本文件并核对预期结果。
# 练习一:创建列表 agent_tools初始元素依次为
# "Python"、"FastAPI"、"Django"。
# 练习二:输出以下信息:
# 1. 完整列表;
# 2. 元素数量;
# 3. 第一个元素;
# 4. 最后一个元素。
# 访问首尾元素前,先使用 if 判断 agent_tools 是否非空。
# 练习三:使用 append() 在末尾添加 "LangChain"。
# 再使用 insert() 在索引 1 的位置插入 "Git"。
# 练习四:使用 extend() 一次添加两个工具:
# "Pydantic" 和 "OpenAI SDK"。
# 练习五:把原列表中的 "Django" 修改为 "Django REST Framework"。
# 提示:先使用 in 判断是否存在,再使用 index() 得到位置,最后按索引修改。
# 练习六:删除工具 "Git"。
# 先使用 in 判断,存在时再调用 remove()。
# 练习七:使用 pop() 删除列表最后一个元素。
# 将被删除的工具保存到 removed_tool并输出该变量。
# 练习八:完成以下查询:
# 1. 判断是否包含 "FastAPI",保存到 contains_fastapi
# 2. 统计 "Python" 出现次数,保存到 python_count
# 3. 如果包含 "FastAPI",获取其索引并保存到 fastapi_index
# 4. 如果不包含 "FastAPI",让 fastapi_index 保存 -1。
# 练习九:使用 sort() 对 agent_tools 原地排序。
# 输出排序后的列表。
# 练习十:使用 enumerate(agent_tools, start=1) 遍历工具列表。
# 按照“1. FastAPI”这样的格式输出编号和工具名称。
# 练习十一:创建独立副本 backup_tools。
# 使用 copy() 复制 agent_tools再向 backup_tools 添加 "Docker"。
# 分别输出 agent_tools 和 backup_tools确认原列表没有新增 Docker。
# 练习十二:创建一个简单二维列表 tool_records
# 第一条记录:["Python", "基础编程"]
# 第二条记录:["FastAPI", "接口开发"]
# 第三条记录:["Django", "Web 应用"]
# 使用 for 遍历,输出每个工具的名称和用途。
# 练习十三:使用字符串乘法输出 30 个等号,再输出最终管理报告:
# 1. 最终 agent_tools
# 2. 工具数量;
# 3. contains_fastapi
# 4. fastapi_index
# 5. python_count
# 6. removed_tool
# 7. backup_tools。
# 预期操作过程:
# 初始列表Python、FastAPI、Django
# 添加 LangChain
# 在索引 1 插入 Git
# 添加 Pydantic 和 OpenAI SDK
# 将 Django 修改为 Django REST Framework
# 删除 Git
# pop() 删除最后一个 OpenAI SDK
# 对剩余工具排序
# 复制后只在副本中添加 Docker
# 完成后进行自查:
# 1. append()、insert() 和 extend() 是否按要求使用;
# 2. remove() 和 index() 前是否判断元素存在;
# 3. pop() 返回值是否保存到 removed_tool
# 4. sort() 后列表是否按默认顺序排列;
# 5. enumerate() 的编号是否从 1 开始;
# 6. 修改 backup_tools 是否没有影响 agent_tools
# 7. 二维列表是否能正确输出工具名称和用途。