これはpython question
とされていましたが、algorithm problem
のように見えます。次回はあなたのアルゴリズムを私たちに持ってきて、私たちはあなたがpythonのためにそれを書くのを助けることができます。
このアルゴリズムは、あなたの問題のために最善の解決策ではないかもしれないが、何ができるかのpythonあなたが表示されます:ここでは
long_text = '''3 5
3 6
3 7
3 8
3 12
3 13
3 14
5 1
5 2
5 3'''
lines = long_text.split('\n')
last_row = -1
last_column = -1
add_one = True
formatted_text = ''
for line in lines:
row, column = line.split(' ')
row = row
column = column
if row == last_row:
if int(column) == int(last_column) + 1:
if add_one:
formatted_text = '{} {}'.format(formatted_text, column)
add_one = False
else:
formatted_text = formatted_text[:-(len(last_column)+1)]
formatted_text = '{} {}'.format(formatted_text, column)
else:
formatted_text = '{}\n{} {}'.format(formatted_text, row,
column)
add_one = True
else:
formatted_text = '{}\n{} {}'.format(formatted_text, row, column)
add_one = True
last_row = row
last_column = column
print (formatted_text)
ではなく、リストを使用して、同じアルゴリズムを、以下:
long_text = '''3 5
3 6
3 7
3 8
3 12
3 13
3 14
5 1
5 2
5 3'''
lines = long_text.split('\n')
last_row = -1
last_column = -1
add_one = True
formatted_list = []
for line in lines:
row, column = line.split(' ')
row = int(row)
column = int(column)
if row == last_row:
if column == last_column + 1:
if add_one:
formatted_list.append(column)
add_one = False
else:
formatted_list.pop(-1)
formatted_list.append(column)
else:
formatted_list.append('\n')
formatted_list.append(row)
formatted_list.append(column)
add_one = True
else:
formatted_list.append('\n')
formatted_list.append(row)
formatted_list.append(column)
add_one = True
last_row = row
last_column = column
formatted_text = ''
for element in formatted_list:
formatted_text = '{} {}'.format(formatted_text, element)
print (formatted_text)
add_one
は最後の列を削除する必要があるかどうかを確認するために使用されるため、3 5 6 7 8
ではなく3 5 8
が出力されます。
^それは私が探していたものです。ありがとうございました!間違った場所に投稿して申し訳ありません。 – scottdet