步骤格式重整

提示:

带‘-’的为非正常步骤,为正常步骤的中间步骤

要求:

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']))

猜你喜欢

转载自blog.csdn.net/rookie_is_me/article/details/87934775