我正在運行此代碼,當我將物品添加到庫存時,該物品出現在所有庫存類中,我在哪里出錯了?一旦我運行 Browse(),添加新庫存,向其中添加項目,當我創建新庫存時,第一個庫存中的項目默認出現在新庫存中。我該如何解決這個問題男孩和女孩?inventories = {}class Inventory: ##Class for new inventory inventory = {} items = {} def __init__(self,name): self.name = name def add_item(self,item,price,amount): if item in self.items: return False else: self.items[item] = int(price) self.inventory[item] = int(amount) return True def add_amount(self,item,amount): self.inventory[item] += amount def update_amount(self,item,amount): self.inventory[item] = amount def remove_amount(self,item,amount): self.inventory[item] -= amount def update_item_price(self,item,price): self.items[item] = price def inv_list(self): ##Print the class print(self.name) print("\nItem: Price: Amount:\n") for item in self.inventory: print(f"{item}\t\t{self.items[item]}\t\t{self.inventory[item]}")def new_inventory(): ##MAkes a new inventory class and stores in inventories{} global inventories while True: answer = input("What would you like to call your new Inventory?") if answer in inventories: print("Name already taken") continue inventories[answer] = Inventory(answer) print("Inventory created") update(answer) break
1 回答

慕哥9229398
TA貢獻1877條經驗 獲得超6個贊
inventory = {}
items = {}
正在為所有類實例創建共享屬性。您應該初始化__init__方法中的屬性。
class inventory:
def __init__(self, name):
self.name = name
self.inventory = {}
self.items = {}
添加回答
舉報
0/150
提交
取消