MCPcopy Index your code
hub / github.com/geekcomputers/Python / main

Function main

Job_scheduling.py:89–122  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

87
88
89def main():
90 job = namedtuple("job", "job_id deadline profit")
91 jobs = [
92 job(0, 0, 0),
93 job(1, 2, 46),
94 job(2, 4, 52),
95 job(3, 3, 30),
96 job(4, 3, 36),
97 job(5, 2, 56),
98 job(6, 1, 40),
99 ]
100 # midresult stores jobs in sorting order of deadline
101 midresult = []
102 for i in range(len(jobs)):
103 current_job = []
104 current_job.extend((jobs[i].deadline, jobs[i].profit, jobs[i].job_id))
105 midresult.append(current_job)
106 midresult.sort(key=lambda k: (k[0], -k[1]))
107 (deadline, profit, jobs) = map(list, zip(*midresult))
108
109 scheduling_jobs = Scheduling(jobs)
110 scheduled_jobs = scheduling_jobs.schedule(len(jobs), deadline)
111 print(f"\n Jobs {scheduled_jobs}")
112
113 finalprofit = []
114 finaldl = []
115
116 for i, item in enumerate(scheduled_jobs):
117 jobsindex = jobs.index(item)
118 finalprofit.append(profit[jobsindex])
119 finaldl.append(deadline[jobsindex])
120
121 print(f"\n Profit {finalprofit}")
122 print(f"\n Deadline {finaldl}")
123
124
125if __name__ == "__main__":

Callers 1

Job_scheduling.pyFile · 0.70

Calls 5

scheduleMethod · 0.95
SchedulingClass · 0.85
extendMethod · 0.80
appendMethod · 0.45
indexMethod · 0.45

Tested by

no test coverage detected