我有一个关于python语句的问题,是否可以打印语句,使它们出现在中间。我知道你可以打空格键直到单词在中间,然后打印出来,但我确信有更合理的方法。
例如,普通的print语句如下:
print ("Hello World")
这将导致输出:
Hello World
但是,我应该如何制作它,以便它像这样出现在中间:
Hello World
我可以在我的print语句中添加空格,但我必须注意它,它不会真正在中间。是否有功能或某种类型可以帮助我实现这个简单的打印问题?
答案 0 :(得分:0)
试试这个:
import subprocess
def printcenter(s):
cols = int(subprocess.check_output('stty size',shell=True).split()[1])
pos = (cols-len(s))//2
print(pos*" "+s)
这至少适用于大多数Linux发行版和OS X.它取决于" stty size"返回终端中的行和列,这可能根据您的情况不起作用:如果您不在标准shell环境中(例如,iPython笔记本或类似的东西),请告诉我们。
如果您还有其他方法可以确定列数,则可以换出cols =
,代码仍然有用。
当然要注意,在shell中不一定能实现完美的居中:它取决于在字符串每一边有相同数量的空格的能力,这意味着(cols-len(s))必须是偶数。
答案 1 :(得分:-1)
这更多是评论,但我没有足够的声誉来评论:(
首先,代码中有一个小错误,结尾引号必须是双引号,或者第一个引号必须是单引号
在中间印刷;难度涉及获取控制台实例的大小,如果用户调整窗口大小,则长度将更改,文本将不再居中。如果你只对特定维度(长度方式)工作感兴趣,那么简单地获取该长度并将其除以2然后沿着这些行做一些事情:
print(((length_console // 2) - (len('Hello world')// 2))*''+“Hello World”)