# 第 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 为 o3,backup_model 为 gpt-5; # agent_capabilities 内部列表包含“写作”。 # 完成后进行自查: # 1. 单元素元组是否保留了逗号; # 2. 读取首尾元素前是否判断元组非空; # 3. index() 前是否使用 in 判断; # 4. 解包变量数量是否与元素数量一致; # 5. 星号变量是否得到列表; # 6. 是否没有直接修改 agent_config; # 7. 转换后的配置是否没有影响原配置; # 8. 变量交换是否没有使用第三个临时变量。