直接看代码和注释
注意一个条件,不符合条件的放到队列尾部
# coding=utf-8
class PrinterJobs(object):
"""
打印机任务排序
打印任务分为九个优先级,1-9值越大,优先级越高
打印机每次从队列头部取出第一个任务,如果优先级是最大则执行该任务,输出任务的索引,否则将任务放到队列尾部
"""
def __init__(self, jobs_list):
"""
预处理入参
:param jobs_list: 任务优先级构成的数组
"""
# 用于记录是否有错误
message = None
if isinstance(jobs_list, list):
for check in jobs_list:
if 1 <= check <= 9:
pass
else:
message = "Error in `{}` with `{}`, check please!".format(jobs_list, check)
else:
message = "Error in `{}` , check please!".format(jobs_list)
if message:
print message
jobs_list = []
# 用于记录索引的原数组
self.old_list = jobs_