我真的无法在网上找到任何真正有用的东西,所以我想问问自己。我有以下代码:
username = input()
username = username.capitalize()
print("Hello " + username ) # I want this to be centered
我希望打印语句以运行它的任何控制台为中心。感谢您的帮助!
这有两个部分。
首先,您需要获取控制台宽度。你用 shutil.get_terminal_size
做到这一点.
由于并非总能获得控制台宽度 — 就此而言,可能甚至都没有(例如,如果您的程序的标准输出被重定向到一个文件并且没有甚至有一个终端),它将回退到 80 列(尽管您可以根据需要覆盖它):
cols, rows = shutil.get_terminal_size()
现在你只是center
该宽度的字符串。该字符串包含用户输入的事实并不重要。连接 "Hello "
和 username
后,您将获得一个与任何其他字符串对象一样工作的 str
。所以:
print(("Hello " + username).center(cols))
如果用户的输入可能太长而无法放在一行中,您需要先将其换行,然后将行居中。您可以使用 textwrap
模块:
for line in textwrap.wrap("Hello " + username, cols):
print(line.center(cols))
我是一名优秀的程序员,十分优秀!