You need to enable JavaScript to run this app. Python dictionary 股票查询作业遇阻,无法获取key对应value
优惠活动
大模型
产品
解决方案
定价
更多

Python dictionary 股票查询作业遇阻,无法获取key对应value

原有代码的核心问题梳理
  • 字典取值逻辑错误:尝试直接将整个字典对象和字符串拼接打印,会直接触发语法报错,也无法实现单条价格值的读取
  • 匹配逻辑覆盖不全:仅单独写了ADBE的相等判断,其余9个股票代码完全没有匹配分支
  • 缺失循环结构:程序运行一次就会终止,不符合持续查询的要求
  • 缺失无效输入处理:没有判断用户输入的代码是否属于字典的存储范围,无法触发无效输入的提示
符合需求的可运行完整代码
# 提前定义股票-价格映射字典,放在循环外避免每次循环重复初始化
stock = {
    'ADBE': '$2',
    'SPOT': '$3',
    'BJ': '$4',
    'DIS': '$5',
    'FB': '$6',
    'BABA': '$6',
    'LOW': '$7',
    'NLS': '$8',
    'SONO': '$9',
    'NEM': '$10'
}

# 无限循环实现持续查询流程
while True:
    # 接收用户输入的股票代码
    input_symbol = input("请输入全大写格式的股票代码查询对应价格(输入exit可退出程序):\n")
    # 增加可选退出逻辑,避免程序无终止运行
    if input_symbol.lower() == 'exit':
        print("查询程序已退出")
        break
    # 判断输入的代码是否为字典中已存储的有效key
    if input_symbol in stock:
        # 直接通过key索引获取对应价格并打印
        print(f"股票{input_symbol}的当前价格为:{stock[input_symbol]}")
    else:
        # 触发无效输入提示
        print("输入的股票代码无效,请输入有效的全大写股票代码重试")
核心知识点说明
  • 字典取值的正确语法:只要确认key存在,直接用字典变量[key名]即可取出对应的value,不需要为每个key单独编写if相等判断,这种写法冗余度极高,字典条目增多后根本无法维护
  • 字典key存在性判断:用待查内容 in 字典变量的语法可以快速完成匹配,效率远高于逐个对比key值的写法
  • 循环结构实现:用while True搭建的无限循环可以满足持续接收用户输入的需求,需要终止流程时用break语句跳出即可
  • 字符串拼接注意事项:字符串和其他类型对象(如字典、数字)不能直接用+号拼接,需要先将待拼接内容转为字符串格式,或使用f-string实现格式化输出,避免触发语法错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.05 15:45:03