【发布时间】:2016-10-11 01:40:17
【问题描述】:
我之前问过这个问题,但我收到的答案最终无法正常工作,所以我完全重新开始。我现在有更多开发的代码,但仍然无法弄清楚出了什么问题以及如何将 a 和 hello 包围在这样的框中:
最初的问题是:给定一条可能包含多行的消息,利用 split() 函数来识别各个行,并使用我们在解决方案中学到的任何一种格式化方法来创建字符串,打印时,围绕消息的行绘制一个框,全部居中。该框在两侧使用竖线和短划线(|、-),在角落使用加号(+),并且在消息的最宽行的左右始终有一列空格。所有线条都居中。
这是我想出的代码。我认为它在正确的轨道上,但我遇到了错误,尤其是 ver 函数
def border_msg(msg):
count=len(msg)
for i in range(0,len(msg)):
count+=1
count = count
dash="-"
for i in range (0,count+1):
dash+="-"
h="{}{}{}".format("+",dash,"+")
count=count+2
ver="{}{:^'count'}{}".format("|",msg,"|")
print (ver)
print(border_msg('a'))
print(border_msg("hello"))
【问题讨论】:
-
顺便说一句:
count = len(msg) -
感谢我刚刚修改的提示
-
{:^'count'}???它不是 Bash - 你不能使用' '插入值。 -
我应该把它改成 {:^count} 吗?