class Test():
def __init__(self) -> None:
self.cargo_list = []
def come(self):
d_name = str(input("名称"))
d_cost_price = int(input("成本价格"))
d_price = int(input("售卖价格"))
d_number = int(input("数量"))
isIn = False
for i in self.cargo_list:
if d_name == i["name"]:
i["number"] == d_number
isIn = True
break
# 列表中不存在时,添加新的数据
if not isIn:
data = {"name":d_name, "cost_price": d_cost_price, "price":d_price, "number": d_number}
self.cargo_list.append(data)
# self.save()
# self.invertory()
建议cargo_list改为字典,字典方便判断是否存在,key用name就可以
考虑加一个flag,比如flag=1
进入了for循环,修改flag=0
判断flag,如果等于0就不执行第二个断点的位置
给你换一种判断方式,直接判断该d_name是否在,存在就找出该对象,加数量
def come(self):
d_name = str(input("名称"))
d_cost_price = int(input("成本价格"))
d_price = int(input("售卖价格"))
d_number = int(input("数量"))
cargo = [c for c in self.cargo_list if c['name']==d_name]
if len(cargo)>0:
cargo[0]["number"] += d_number
else:
self.cargo_list.append({"name":d_name, "cost_price": d_cost_price, "price":d_price, "number": d_number})