答案 0 :(得分:2)
答案 1 :(得分:0)
因此,希望您可以学习,不想只为您编写代码。基本上将其分为步骤。首先,您需要接受用户输入。如果您不知道该怎么做,请尝试使用Google搜索,“ python从stdin接受用户输入”,或者这是该搜索的结果之一:https://www.pythonforbeginners.com/basics/getting-user-input-from-the-keyboard
然后,如上所述,您需要输入的字符串的长度。您可以使用len函数得到它。然后做数学:看起来像您想要“ |”在字符串的两边各留两个空格,长度加6(两边都是“ |”)。这个新长度就是您应该制作“ + --- +”字符串的长度。使用print()函数可打印出每一行。我真的不想多说什么,因为您应该动脑筋来弄清楚。如果您对如何生成适当长度(适当数量的“-”字符)的“ + --- +”有疑问,可以使用字符串串联和循环,也可以使用python字符串构造函数(提示:google“构造len个重复字符的python字符串”)。 HTH。
在查看代码后,还有一件事,除了我对在框内打印字符串本身的评论外,我还发现代码中存在一些次要逻辑错误(例如,为什么您选择从宽度中减去 2)。我在这里想告诉我的要点是,如果您打算将其分解为多个小功能(在这里有点矫kill过正,但是如果您只是在学习,因为它教会了您一项重要技能,那么绝对是一个好主意),那么您应该测试每个功能逐个确定它会按照您的想法和期望去做。我认为您会以这种方式看到逻辑错误。
答案 2 :(得分:0)
这是解决方案,但我建议您自己尝试一下,将问题分解成小块,然后从那里开始。
def format(word):
#It declares all the necessary variables
borders =[]
result = []
# First part of the result--> it gives the two spaces and the "wall"
result.append("| ")
# Second part of the result (the word)
for letter in word:
result.append(letter)
# Third part of the result--> Ends the format
result.append(" |")
#Transforms the list to a string
result = "".join(result)
borders.append("+")
borders.append("--"+"-"*len(word)+"--")
borders.append("+")
borders="".join(borders)
print(borders)
print(result)
print(borders)
sentence = input("Enter a word: ")
format(sentence)
答案 3 :(得分:-1)
我是Python的新手,我已经找到了这种解决方案。也许不是最好的解决方案,但它可行!
test = input()
print("+-", end='')
for i in test:
print("-", end='')
print("-+")
print("| " + test + " |")
print("+-", end='')
for i in test:
print("-", end='')
print("-+")