首页 > 解决方案 > 您如何对应 2 个列表中的索引?

问题描述

我在下面有 2 个列表,我需要用户从我能够执行的列表中输入硬币类型。在询问行李重量后,首先输入的硬币类型必须与行李重量的索引相匹配,但我似乎无法这样做,因为我输入的代码有错误

#this is the lists I am using 
coinType = [2, 1, 50, 20, 10, 5, 2, 1]
bagWeight = [12, 8.75, 8, 5, 6.5, 3.25, 7.12, 3.56]

#allows user to input coin type
print('£2, £1, 50p, 20p, 10p, 5p, 2p, 1p')
print (coinType)
flag="t"
while flag=="t":
    coinType1 = int(input('enter your coin type: '))
    if coinType1 in coinType:
        flag="n"

#allows user to input bag weight
print('12g, 8.75g, 8g, 5g, 6.5, 3.25g, 7.12g, 3.56g')
print (bagWeight)
flag="t"
while flag=="t":
    bagWeight1 = float(input('enter your bag weight: '))
#here I am trying to say that when a bagweight index doesn't match the cointype index a while loop will keep aking until the indexes match
if (bagWeight1[])!= (coinType1[]):
    flag="t"

标签: python

解决方案


您可以使用列表index()方法:

if coinType1 in coinType:
    coin_index = coinType.index(coinType1)

然后稍后您可以检查 bagWeight 是否具有正确的索引。

if bagWeight1 in bagWeight:
    bag_index = bagWeight.index(bagWeight1)

if coin_index == bag_index:
    # Do Something

推荐阅读