是否有其他方法可以不使用变量输入索引?

2024-06-10 08:28:23 发布

您现在位置: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:“list”对象不可调用


Tags: 程序名称列表数量index情况数字lower
1条回答
网友
1楼 · 发布于 2024-06-10 08:28:23

您遇到了问题,因为您使用了错误的数据结构。你想要一个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个元素

相关问题 更多 >