为了构建我的控制台输出,我想打印一些信息,我想从一个带下划线的标题开始。但是如何在不创建额外变量的情况下很好地做到这一点?现在我这样做: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.", "-"))谢谢 :)
2 回答

婷婷同学_
TA贡献1844条经验 获得超8个赞
有一个 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,用于双下划线。
添加回答
举报
0/150
提交
取消