отображение результата печати в таблице фиксированной или измененной длины в python - PullRequest
0 голосов
/ 19 января 2020

У меня есть python код с печатью, который генерирует этот вывод для меня

enter image description here

код печати, который я использовал для этого вывода:


print("|----------------------------------------", end=' ')
print("|---------------------------------------|")
print("|Total number of sentences: {}".format(nos), end=' ')
print("            |Total number of sentences: {}".format(no),"          |")
print("|----------------------------------------", end=' ')
print("|---------------------------------------|")
print("|Total number of Vocabs in  file 1: {}".format(nov), end=' ')
print("   |Total number of Vocabs in  file 2: {}".format(novv)," |")
print("|----------------------------------------", end=' ')
print("|---------------------------------------|")
print("|                           The diff. in dict. is :{}".format(novcalc),"                             |")
print("|----------------------------------------", end=' ')
print("----------------------------------------|")
print("|   The number of words appearing  less than 3 times in the first file  are :{}".format(result),"  |")
print("|----------------------------------------", end=' ')
print("----------------------------------------|")
print("|   The number of words appearing  less than 3 times in the sec. file  are :{}".format(resultt),"   |")
print("|----------------------------------------", end=' ')
print("----------------------------------------|")


Теперь дело в том, что если числа изменились на большее число, которое таблица не будет корректировать, потому что это оператор печати для тире, есть ли в python способ создать такую ​​вещь, как вспомогательная или фиксированная один, который может работать с любым заданным выводом.

Ответы [ 2 ]

1 голос
/ 19 января 2020

Итак, проблема у вас в том, что все «жестко запрограммировано».

Как только решение состоит в том, чтобы измерить размер, вам нужно, чтобы таблица была такой, а затем установите строки равными этим длинам. Например:

 data = "The number of words... in the first file  are :{}".format(result)
 line = "-" * len(data) + "|"

 print(line, data, line, sep="\n")

Однако гораздо более простым и в целом лучшим решением было бы осознать, что многие люди написали код, который решает эту проблему. Вы можете попробовать использовать библиотеку "pretty table" или попробовать поиграть с pandas фреймом данных и распечатать его.

0 голосов
/ 19 января 2020

Хотя это не полностью решает вашу проблему, хорошее место для начала -

print("-"*80)

, печатает 80 штрихов. Вы можете превратить эти 80 в переменную, которая может зависеть от длины вашего номера.

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