You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

添加elif后Python条件语句执行异常,请求修正交互逻辑

问题分析与修复方案

问题根源

修改后的代码把参数索引输入逻辑放到了遍历weather_data['resource']的for循环内部:

  • 输入'y'时,每打印一个参数就会弹出输入提示,而非打印完所有参数后统一提示
  • 输入'n'时,循环会遍历所有资源项,每一次迭代都触发输入提示(但实际只需要一次输入)

修复后的代码

调整逻辑,将参数索引输入放到循环外部,确保仅触发一次:

def create_parameter_url(weather_data):
    list_parameters = str(input('Would you like to see available parameters? y/n \n>>>'))
    # 处理参数列表展示逻辑
    if list_parameters == 'y':
        for i in range(len(weather_data['resource'])):
            print(i+1 , ":" , weather_data['resource'][i]['title'] , weather_data['resource'][i]['summary'])            
    # 统一提示输入参数索引,仅执行一次
    choose_parameter = str(input('\nEnter the index of a parameter (integer): \n>>>'))
    parameter_url = first_url_no_json + choose_parameter
    return parameter_url

逻辑说明

  • 先判断用户是否需要查看参数列表,若是则遍历打印所有参数项
  • 无论用户选'y'还是'n',都在完成列表展示(或直接跳过)后,仅触发一次参数索引输入
  • 完全匹配需求:选'y'先看参数列表再输入索引,选'n'直接跳过列表输入索引

内容的提问来源于stack exchange,提问作者ilra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 22:45:31