Python:字符串格式化程序以获得带下划线的标题

为了构建我的控制台输出,我想打印一些信息,我想从一个带下划线的标题开始。但是如何在不创建额外变量的情况下很好地做到这一点?

现在我这样做:

print("{:s}\n{:s}\n".format("This is an underlined headline.", len("This is an underlined headline.") * "-"))

什么给了我想要的输出:

This is an underlined headline.
-------------------------------

但是那个代码很糟糕。有没有更好的格式字符串来实现?

print("{0:s}\n?????\n".format("This is an underlined headline.", "-"))

谢谢 :)


三国纷争
浏览 136回答 2
2回答

翻阅古今

也许尝试使用ANSI 转义序列class Format:    end = '\033[0m'    underline = '\033[4m'print(Format.underline + 'Your text here' + Format.end)它将打印出带下划线的文本,对于整个 ANSI 转义序列文档,请单击此处

婷婷同学_

有一个 Unicode 字符'\u0332'COMBINING LOW LINE *,它充当字符串中位于它前面的字符的下划线。所以你可以试试:print('{:s}'.format('\u0332'.join('This is an underlined headline.')))这应该产生一个带下划线的字符串:T̲h̲i̲s̲ ̲i̲s̲ ̲a̲n̲ ̲u̲n̲d̲e̲r̲l̲i̲n̲e̲d̲ ̲h̲e̲a̲d̲l̲i̲n̲e̲。但是,输出的外观可能取决于呈现输出的应用程序及其使用的字体。我的浏览器产生一个带下划线的字符串,我的 (Linux) 终端显示它就好像每个字符后跟一个下划线。*还有'\u0333', COMBINING DOUBLE LOW LINE,用于双下划线。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python