Как печатать табуляцию (длинные пробелы) между 2 символами строки в Python - PullRequest
0 голосов
/ 27 августа 2018

Как печатать табуляцию (длинные пробелы) между 2 символами строки, в Python, используя циклы, а не вкладку "\ t"? (или в петлях, если это возможно ") Например:

a="HELLO" поэтому вывод должен быть

H        E         L        L       O

Ответы [ 4 ]

0 голосов
/ 27 августа 2018

Это можно сделать, импортировав sys, если вы хотите печатать только, поскольку print включает новую строку для каждого предложения, но sys.stdout.write не делает

a="HELLO"
import sys
for num in range(len(a)):
#    print('\t %s' %(a[num]))
    sys.stdout.write('\t %s' %(a[num]))
0 голосов
/ 27 августа 2018

Вы также можете использовать метод join:

spacer = '    '
seq = 'Hello'
print(spacer.join(seq))
0 голосов
/ 27 августа 2018

Так как вы хотели найти решение с использованием циклов, вот один из возможных подходов

for c in "HELLO":
     print(c, end="\t")
0 голосов
/ 27 августа 2018

Вы можете распаковать строку в ее символы и использовать вкладки в качестве разделителя при вызове print

a="HELLO"
print(*a, sep="\t")
# H       E       L       L       O

Если вы хотите обработать строку буквами, разделенными табуляцией, вы можете вместо этого использовать str.join

tab_separated = '\t'.join(a)

Циклическое решение было бы очень неэффективным, но выглядело бы как

def tab_sep(s):
    if not s:
        return s
    res = s[0]
    for letter in s[1:]:
        res += '\t' + letter
    return res

Вы можете заменить приведенные выше строки '\t' на chr(9) (вкладка имеет значение ASCII 9), если вам действительно не нужны escape-последовательности, но я бы не рекомендовал это. Трудно сказать, что делает код.

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