Отображение и форматирование выровненных строк с ограничением длины строки - PullRequest
0 голосов
/ 21 января 2019

Моя цель сравнить две большие строки данных (3000+ букв) для совпадений, выстроить их в ряд и отобразить совпадения графически.

Код, который я использую, работает нормально, однако у меня проблема с отображением данных. В текстовом редакторе данные отображаются так, как и должно быть, однако, когда я открываю файл в блокноте, ограничение длины строки строки портит способ отображения данных. Мне нужно найти способ заставить программу отображать 60 символов за раз, а затем опустить страницу вниз, чтобы отобразить следующие 60 символов, но со всеми 3 строками, расположенными в нужном месте.

Я ожидаю, что мне не хватает очень простой функции форматирования или слияния.

Iv пытался запустить цикл диапазона для обработки кода по 60 символов за раз, но я могу найти способ заставить его работать.

Iv думал о попытке объединить строки, но у меня все еще есть та же проблема.

очевидно, я мог бы просто повторить код из 60-символьного фрагмента с [0:59], но чтобы это работало, мне нужно было бы скопировать код 50 раз, и это выглядит грязно.

def sequence_compare(pro1, pro2):
    len1 = len(pro1)
    len2 = len(pro2)
    mismatches = []
    for pos in range (0,min(len1,len2)) :
        if pro1[pos] != pro2[pos] :
            mismatches.append ( ' ' )
        else:
            mismatches.append ( '|' )
    results = open('comparison.txt','w')
    results.write(pro1)
    results.write('\n')
    results.write("".join(mismatches))
    results.write('\n')
    results.write(pro2)
    results.write('\n')
sequence_compare(pro1, pro2)

ожидается

129876543
|| ||
123456743 ..................

129876543
|| ||
123456743 ...................

фактический

1234566778991
1234455666321
||| ||||
|||| |||
6788999876553
1234542323222

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...