Files
2026-07-29 14:59:37 +08:00

121 lines
4.0 KiB
Python
Raw Permalink 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-9 课课堂练习Agent 固定配置快照
#
# 完成要求:
# 1. 根据注释完成元组的创建、读取、统计、转换和解包。
# 2. 使用有意义的英文蛇形变量名。
# 3. 调用 index() 前先判断元素是否存在。
# 4. 不要尝试直接修改元组元素。
# 5. 不要删除题目注释。
# 6. 完成后运行本文件并核对预期结果。
# 练习一:创建元组 agent_config依次保存
# 模型名称 "gpt-5"、温度 0.7、最大长度 2000、启用状态 True。
# 练习二:创建以下两个元组:
# 1. 空元组 empty_config
# 2. 只包含 "Python" 的单元素元组 single_tool。
# 使用 type() 输出 single_tool 的类型,确认它是 tuple。
# 练习三:输出 agent_config 的以下信息:
# 1. 完整元组;
# 2. 元素数量;
# 3. 第一个元素;
# 4. 最后一个元素。
# 读取首尾元素前先判断 agent_config 是否非空。
# 练习四:完成以下切片:
# 1. 取得前两个元素并保存到 basic_config
# 2. 取得后两个元素并保存到 limit_config
# 3. 反转元组并保存到 reversed_config。
# 练习五:完成成员判断和查找:
# 1. 判断 agent_config 是否包含 "gpt-5",保存到 contains_model
# 2. 如果包含,使用 index() 保存位置到 model_index
# 3. 如果不包含,让 model_index 保存 -1。
# 练习六:创建状态元组 status_history
# "成功"、"失败"、"成功"、"成功"、"失败"。
# 使用 count() 统计 "成功",保存到 success_count。
# 练习七:使用 enumerate(agent_config, start=1) 遍历配置。
# 按照“1. gpt-5”这样的格式输出编号和配置值。
# 练习八:解包 agent_config。
# 分别使用 model_name、temperature、max_tokens、is_enabled 接收四个元素。
# 练习九:使用星号解包。
# 把 agent_config 的第一个元素保存到 first_setting
# 把其余元素收集到 other_settings
# 输出 other_settings 及其数据类型。
# 练习十:通过元组拼接创建新配置 new_config。
# 新配置的第一个元素应为 "o3",其余元素沿用 agent_config 的后三个元素。
# 不允许直接修改 agent_config。
# 练习十一:将 agent_config 转换成列表 config_list。
# 把列表中的温度修改为 0.3,再转换回元组 converted_config。
# 分别输出 agent_config 和 converted_config确认原配置没有改变。
# 练习十二:交换两个变量:
# primary_model 初始为 "gpt-5"
# backup_model 初始为 "o3"
# 不使用第三个临时变量,完成交换并输出结果。
# 练习十三:创建元组 agent_capabilities
# 第一个元素为 "gpt-5"
# 第二个元素为列表 ["搜索", "计算"]。
# 向内部列表追加 "写作",再输出整个元组。
# 思考:为什么元组不可变,但这个操作仍然允许?
# 练习十四:使用 30 个等号输出分隔线,再输出最终配置报告:
# 1. agent_config
# 2. basic_config
# 3. limit_config
# 4. reversed_config
# 5. contains_model
# 6. model_index
# 7. success_count
# 8. 解包后的四个变量;
# 9. new_config
# 10. converted_config
# 11. 交换后的 primary_model 和 backup_model
# 12. agent_capabilities。
# 预期核心结果:
# single_tool 的类型为 tuple
# contains_model = True
# model_index = 0
# success_count = 3
# other_settings 是列表;
# new_config 的模型为 o3
# converted_config 的温度为 0.3
# 原 agent_config 保持不变;
# 交换后 primary_model 为 o3backup_model 为 gpt-5
# agent_capabilities 内部列表包含“写作”。
# 完成后进行自查:
# 1. 单元素元组是否保留了逗号;
# 2. 读取首尾元素前是否判断元组非空;
# 3. index() 前是否使用 in 判断;
# 4. 解包变量数量是否与元素数量一致;
# 5. 星号变量是否得到列表;
# 6. 是否没有直接修改 agent_config
# 7. 转换后的配置是否没有影响原配置;
# 8. 变量交换是否没有使用第三个临时变量。