题库首页 › 信息素养大赛(Python) › 题目 19112

非遗工坊智能排期优化(递归快排) 【题目描述】 工坊有陶艺、剪纸、刺绣等任务,输入任务名与耗时,用递归快速排序按耗时升序排列,输出最优排期。 【输入格式】 一行输入任务名与耗时交替 【输出格式】输出按耗时升序的排期 样例输入 1: 剪纸 20 陶艺 50 刺绣 30 样例输出 1: 优化排期:剪纸 (20) 刺绣 (30) 陶艺 (50) 将输入字符串按空格分割,提取任务名与耗时,组成包含名称和时间的结构化数据序列。定义递归快速排序函数,以耗时为排序键,选取基准元素,将序列划分为小于等于基准和大于基准的两部分,递归处理子区间,实现升序排列。排序完成后,按顺序输出每个任务的名称与耗时,格式为‘任务名 (耗时)’,各任务间用空格分隔,前缀添加‘优化排期:’。

正确答案:参考程序(Python):data=input().split();tasks=[(data[i],int(data[i+1])) for i in range(0,len(data),2)];def qsort(arr):if len(arr)<=1:return arr;p=arr[0];return qsort([x for x in arr[1:] if x[1]<=p[1]])+[p]+qsort([x for x in arr[1:] if x[1]>p[1]]);s=qsort(tasks)

试卷来源:2026信息素养大赛数字守艺人Python小高组(小学4-6年级)复赛模拟卷(一)

本卷相关题目

在线做题 同科目题库