我正在尝试制作一个我有商店的程序。我有一个库存,需要将对象添加到收据,从收据中删除对象并打印收据。我已经设法做了所有事情,但我的删除方法正在做一些错误。
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")
提前谢谢你,如果我不够清楚,我道歉,我在这里澄清。 :)