繁体   English   中英

如何将用户整数输入与字典中的值进行比较? (Python)

[英]How do I compare user integer input to values in dictionary? (Python)

我正在开发一个自动售货机程序,我的代码直接跳到 else 语句,而不是获取用户输入并将其与列表中的 ID 号进行比较。

这是列表和代码:`

itemstock = [

    {
        "idnum": 0,
        "name": 'Water',
        "price": 12,
    },
    {
        "idnum": 1,
        "name": 'Soda',
        "price": 14,
    },
    {
        "idnum": 2,
        "name": 'Juice',
        "price": 13,
    },
    ]

choice = int(input("Now, choose an item ID from the Menu and enter the ID: "))
for i in itemstock:
    if choice in ["idnum"]:
        print("You have chosen item", choice)
    else:
        print("This is not a valid ID.")
        break

`

我曾希望如果我输入数字 2,它会显示用户选择的内容以及一些文本,但它会直接跳到 else 语句。 我试过在线查看,但我可能在这里做错了什么。

if choice in ["idnum"]

那只是一个包含文本“idnum”的列表。 你想要i["idnum"]代替:

for i in itemstock:
    if i["idnum"] == choice:
        print("You have chosen item", choice)
        break
else:
    print("This is not a valid ID.")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM