有没有使用变量而不输入变量的替代方法?

时间:2019-06-16 03:44:09

标签: python

我必须将货件存储在列表中,例如名称和数量,当我创建销售时,程序将询问产品名称,从列表中进行匹配,找到索引号并使用索引号来找到其数量。但是我不知道如何在不使用变量的情况下将索引号传输到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:“列表”对象不可调用

1 个答案:

答案 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个元素。