从列表中删除对象

时间:2017-02-09 12:46:35

标签: python python-3.x

我正在尝试制作一个我有商店的程序。我有一个库存,需要将对象添加到收据,从收据中删除对象并打印收据。我已经设法做了所有事情,但我的删除方法正在做一些错误。

def deleteItem(self,item,productAmount):

    i = 1
    for product in self.receipt:
        if item == product.code:
            if product.amount >= productAmount:
                while i <= productAmount:                            
                    self.receipt.remove(product)
                    i+=1
            else:                                                   
                print("Amount is too large, there are ",product.amount," left")
        else:
            print("product code is not in the order")

每当我将item变量指定为与product.code不同时,就会打印出messasge,因为product.amount在收据中(这是一个列表)。我知道这可能是因为“for self.receipt中的产品”,但我不知道任何其他方式引用该列表。每当我选择productAmount&gt; product.amount然后我的程序使用我在菜单功能中使用的ValueError:

def menu():

loadProducts()
while True:
    print("\nWhat do you want to do?")
    print("1. Scan object")
    print("2. Show order")
    print("3. Print receipt")
    print("4. Show stock")
    print("5. delete product")

    try:
        choice = int(input())
        if choice == 1:
            scanProduct()
        elif choice == 2:
            lager.showOrder()
        elif choice == 3:
            lager.printReceipt()            
        elif choice == 4:
            print(lager)
        elif choice == 5:
            removeItem()
        else:
            print("You must choose a number between 1 - 5")
    except ValueError:
        print("You must choose a number between 1 - 5")

提前谢谢你,如果我不够清楚,我道歉,我在这里澄清。 :)

0 个答案:

没有答案