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

Python 3使用while循环输出字典键值对时出现报错的问题求助

问题分析与解决方案

嘿,我一眼就瞅出问题所在啦!咱们来拆解一下:

错误原因

你定义的字典dictionary,它的键是'A'、'B'、'C'、'D'这些字符串,而你在循环里用dictionary[q]访问时,q是0、1、2、3这类数字——字典里根本没有数字类型的键,自然会抛出KeyError报错。

为啥单独打印klucze[q]没问题?因为klucze是把字典的键转换成了列表,列表是靠数字索引访问的,所以klucze[q]能正确拿到对应的键字符串。

修复方案

给你两种简单的修复方式:

方式1:用列表中的键访问字典

既然klucze[q]能拿到字典的键,那直接用这个键去取字典的值就好:

dictionary={'A':'80%-100%','B':'60%-80%','C':'50-60%','D':'less then 50%'}
klucze=list(dictionary.keys())
q=0
while q<4:
    print(klucze[q], " - ", dictionary[klucze[q]])  # 这里改成用klucze[q]作为键
    q+=1

方式2:更简洁的遍历方式(推荐)

其实没必要手动维护索引q,直接遍历字典的键值对效率更高,代码也更清爽:

dictionary={'A':'80%-100%','B':'60%-80%','C':'50-60%','D':'less then 50%'}
for key, value in dictionary.items():
    print(f"{key} - {value}")

这样运行就能得到你想要的输出啦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.28 12:02:38