提示:
带‘-’的为非正常步骤,为正常步骤的中间步骤
要求:
1.按照给出数据,进行重整,必须为S1...S2...S3................
2.非正常步骤的顺序也需要进行重整,必须为-1,-2.....
def test(steps):
step_num = 1
if '-' in steps[0]:
steps[0] = 'S1'
for i in range(len(steps)):
step = steps[i]
if '-' not in step:
step = 'S' + str(step_num)
steps[i] = step
step_num += 1
for i in range(len(steps)):
n = i
step = steps[i]
if '-' in step:
part_1 = int(step.split('-')[0].replace('S', ''))
part_2 = step.split('-')[-1]
while True:
part_flag = steps[n - 1]
if '-' not in part_flag: break
n -= 1
part_num = int(part_flag.replace('S', ''))
step_reday_replace_count = 0
step = step.replace('S' + str(part_1), 'S' + str(part_num)).replace('S' + str(part_1 + 1), 'S' + str(part_num + 1))
steps[i] = step
for ele in steps:
if 'S' + str(part_num) + '-S' + str(part_num + 1) in ele:
step_reday_replace_count += 1
step = step.replace('S' + str(part_num)+'-'+ 'S' + str(part_num + 1)+ '-'+part_2,'S' + str(part_num)+'-'+ 'S' + str(part_num + 1)+ '-' + str(step_reday_replace_count))
steps[i] = step
return steps
if __name__=='__main__':
print(test(['S1-S2-1','S3','S6-S7-1','S4','S6-S7-2']))