提示:
帶‘-’的爲非正常步驟,爲正常步驟的中間步驟
要求:
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
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_1), 'S' + str(part_num)).replace('S' + str(part_1 + 1),
'S' + str(part_num + 1)).replace(
'-' + part_2, '-' + str(step_reday_replace_count + 1))
steps[i] = step
return steps
if __name__=='__main__':
print(test(['S1-S2-1','S3','S6-S7-1','S4','S6-S7-2']))