Как напечатать что-то подчеркнутое в Python?

print("hello")

На выходе должно быть слово "привет", но подчеркнуто.

7 ответов

Вы можете сделать это с помощью escape-символов.

print "\033[4mhello\033[0m"

Это точно сработает:

      print("\u0332".join("hello "))

Вы можете ввести

print("\u0332".join("hello "))введите описание изображения здесь

Немного поборолся с этой проблемой, и в моем случае проблема заключалась в строке «colorama.init(autoreset=True)». Почему-то похоже, что в Python3 Windows, если использовать автосброс Colorama, нельзя печатать подчеркнутый текст (все еще можно печатать жирным шрифтом, с цветами переднего плана, фона и т. д., пока я обнаружил, что только подчеркивание влияет форматирование). Конечно, это также означает, что вам придется сбрасывать текст вручную, добавляя последовательность сброса ANSI.ESC [0m(в приведенном ниже примере это будет\033[0mв конце оператора печати).

      import colorama
#colorama.init(autoreset=True) #This line was causing me problems
#import os #To use below line
#os.system("") #This line can make it work in some terminals
print("\033[1;4mBold and underlined text\033[0m")

Некоторые дополнительные примечания после дополнительного тестирования:

  • Это может по-прежнему не работать на некоторых терминалах. Например, я сначала попробовал это на встроенном терминале VSC (Visual Studio Code), и это сработало, но затем я попробовал это на cmd, и это не сработало.
  • На терминалах, в которых это не работает, добавлениеos.system("")строка перед оператором печати может заставить его работать. Я проверил это на cmd, и это сработало (строкаcolorama.init(autoreset=True)еще прокомментировал).

РЕДАКТИРОВАТЬ: добавлена ​​строка «импорт колорамы» и дополнительные примечания для полноты

string = 'Hello world'
emptystring = ''

for i in range(0, len(string)):

    if string[i] == ' ':
        emptystring = emptystring + string[i]
    else:
        emptystring= emptystring+string[i]+str('\u0332')

print(emptystring)

Вот результат

убедитесь, что у вас есть интерпретатор python3, затем запустите

      x="the solution"
print("\033[4m" + x + "\033[0m")

Убедитесь, что у вас установлен Python 3.6+. Установите кво с помощью pip https://pypi.org/project/quo.

      from quo import echo
echo(f"Hello World!!!", underline=True) 
Другие вопросы по тегам