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

Python如何根据用户输入从字典中查询并输出指定邮编对应的城市

问题原因
  • 原代码没有使用用户输入的邮政编码做匹配判断,反而遍历了整个字典的所有键值对,会输出所有存储的邮编和城市信息
  • 循环内的判断if x in countyzips永远成立(x是字典本身的键),永远不会触发不存在的分支逻辑
  • 缩进存在语法错误,for循环前的多余缩进会导致运行时报错
  • 输出内容不符合需求格式,错误使用字典内的键而非用户输入的内容
修正后可直接运行的代码
# 邮编字典示例
countyzips = {'90210': 'Beverly Hills', '90001' : 'Los Angeles'}

# 获取用户输入,自动去除首尾空格避免匹配异常
user_input_zip = input('enter zip code:').strip()

# 直接判断输入是否在字典的键中,无需遍历
if user_input_zip in countyzips:
    print(f'zip code = {user_input_zip} , city = {countyzips[user_input_zip]}')
else:
    print(f'zip code {user_input_zip} is not in Los Angeles County')
优化说明
  • 直接利用字典的in判断特性完成键存在性校验,时间复杂度为O(1),比遍历字典效率高很多
  • 避免使用zip作为变量名(zip是Python内置函数),改用无冲突的变量名user_input_zip
  • 增加输入首尾空格自动清理逻辑,兼容用户误输入空格的场景
  • 输出格式完全匹配需求要求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 00:57:01