2

我想确定 dict 键的值处于以下哪个状态:

  1. 不存在
  2. 存在,但等于 0 的 int
  3. 存在,并且等于大于 0 的 int

这是我目前正在尝试的:

if item[itemTo] == 0:
    print("You don't have a %s." % (itemTo))
elif item[itemTo] > 0:
    print("You have %i of %s." % (item[itemTo]))
else:
    print("%s doesn't exist." % (itemTo))

但是,当itemTo不在item字典中时,我在该行收到此错误if item[itemTo] == 0:

KeyError: 'whatever_value_of_itemTo'
4

1 回答 1

7

您想更改测试的顺序:

if itemTo not in item:
    print("%s doesn't exist." % (itemTo))
elif item[itemTo] > 0:
    print("You have %i of %s." % (item[itemTo]))
else:
    print("You don't have a %s." % (itemTo))
于 2012-12-04T00:14:43.397 回答