我必须将货件存储在列表中,例如名称和数量,当我创建销售时,程序将询问产品名称,从列表中进行匹配,找到索引号并使用索引号来找到其数量。但是我不知道如何在不使用变量的情况下将索引号传输到quantity()
。
除了变量之外,我还尝试使用TM.index(a)
。但是到目前为止,我只能发现Quantity()
仅允许数字。
TM=[fish,crabs ]
Quantity=[100,20 ]
TM2=input("product name :")
if TM2.lower() in TM:
a=TM2.lower()
b = TM.index(a)
c = Quantity(b)
我希望输出是这样:
TM2= Crabs
a= crabs
b= 1
c=Quantity(1)
c=20
但是我却得到:TypeError:“列表”对象不可调用
答案 0 :(得分:0)
您遇到了麻烦,因为您使用了错误的数据结构。您需要一个dictionary。它是这样的:
product_to_quantity = {
'fish': 100,
'crabs': 20
}
which = input('product name? ').lower()
quantity = product_to_quantity[which]
print(quantity)
如果运行此命令并输入fish
,它将打印100
。
请注意方括号[]
而不是括号()
。方括号用于从字典和列表中取出项目。在原始代码中,您将使用Quantity[b]
来获得列表的第b
个元素。