import json, collections j=json.load(open('/tmp/oz_draft_all.json')); items=j['items'] RATE=1500/113.0 MARGINS=[0,0.13,0.15,0.20,0.25,0.30,0.35,0.40] def F(g): return 4.2+0.045*g def price(b,g,r): return (b+F(g))/(1-0.2-r) if r<0.8 else None out={} stats=collections.Counter() for p in items: sp=p['vars'][0].get('sp'); eu=p['eu'] b=float(sp) if sp else (float(eu)*6.68 if eu else None) w=max([float(v.get('w') or 0) for v in p['vars']] or [0]) key=p['oid'] or p['id'] tier = 'extra_small_1-500g' if 03}%' for r in MARGINS)) for g in (50,100,200,300,400,500): cells=' | '.join(f'{price(b,g,r):5.1f}' for r in MARGINS) print(f' {g:>4}g | {cells} → 25%档 {price(b,g,0.25)*RATE:6.0f}₽')