[英]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.