为什么这不会在字典中打印出一个值?

时间:2013-11-28 01:11:43

标签: python dictionary

我试图通过用户输入的密钥在字典中打印出一个值,但什么都没有出来。有任何想法吗?

u_items=input("Enter 'list' to see a list of items, or 'Book', 'Apple', 'Toy', 'Pumpkin', 'Bowl' or 'Purse' to see the item's price: ")
u_items=u_items.title()

inventory={'Book':'18', 'Apple':'3', 'Toy':'7', 'Pumpkin':'9', 'Bowl':'5', 'Purse':'30'}

if u_items in inventory[u_items] == True:
    print("A " + u_items + "costs $" + inventory[u_items])

elif u_items == 'List':
    print(items(inventory))

1 个答案:

答案 0 :(得分:1)

您的if语句构造错误。它应该是这样的:

if u_items in inventory:

此测试是否在字典中存在u_items(用户输入的密钥)。

您之前所做的是通过使用u_items索引inventory来查看返回的值中是否存在u_items。因此,如果用户输入'apple',您的代码将被解释为:

if 'Apple' in '3' == True: