'.join(my_order))\nprint(rep)","label":"3 — Your order (EDIT)"},{"code":"np.random.seed(2303) if 'np' in dir() else None\nMIN_SETUPS = 1\nproblems = list(rep['errors'])\nif rep['setups'] > MIN_SETUPS:\n problems.append(f'EXTRA_SETUP: {rep[\"setups\"]} setups used; part requires only {MIN_SETUPS}.')\nif not rep['features_complete']:\n problems.append('not every feature produced.')\n\nif not rep['infeasible'] and rep['setups'] <= MIN_SETUPS:\n print('PASS - datum_violations=0, fixture_violations=0, features 5/5, '\n f'setups={rep[\"setups\"]}. The datum-creating op precedes every op that uses it, '\n 'edges before deburr, cutoff last.')\nelse:\n msg = problems[0] if problems else 'infeasible plan.'\n print('FAIL - ' + msg)","label":"4 — Autograder (seed 2303)"}],"intro":"A topological validator over requires/produces/destroys plus a setup-reachability check — the same one the autograder uses. Edit your order and run.","key":"manufacturing/sequencing-a-process-plan","kind":"python","title":"Sequencing a process plan"}">
PYTHON · NUMPY · IN-BROWSER
Sequencing a process plan
A topological validator over requires/produces/destroys plus a setup-reachability check — the same one the autograder uses. Edit your order and run.