Я работаю над системой, похожей на нормирование, в python, где есть места, нуждающиеся в этих рационах, и когда мы получаем груз, он равномерно распределяется по всем местам. это относительно просто, сложная часть заключается в том, что отгрузка (принятие) не делится поровну на количество мест, я не уверен, как это сделать.
ration = commit/len(indiv_list)
if commit % len(indiv_list) == 0:
print("perfect match no remainder")
add1 = False
for _ in ration:
for loc in indiv_list:
q = Orders.query.filter_by(ordered_by=loc, order=type).first()
if q.amount == 0:
add1 = True
break
newOrder = ClaimedOrders(ordered_by=loc, status=0, claimed_by=supplier, order=type)
q.amount -= 1
db.session.add(newOrder)
if add1:
if q.amount == 0:
break
else:
newOrder2 = ClaimedOrders(ordered_by=loc, status=0, claimed_by=supplier, order=type)
q.amount -= 1
db.session.add(newOrder2)
add = False
db.session.commit()
else:
pass
любая помощь будет очень признательна. кстати, это работает в flask приложении