在框内输入消息

时间:2019-02-28 17:45:32

标签: python python-3.x

我需要创建一个带有参数的盒子,该参数可以打印用户输入的所有输入。我认为盒子应该是字符串的长度,但是我陷入了空代码的困境,因为我不知道在哪里开始。

它应该像这样:

4 个答案:

答案 0 :(得分:2)

我同意Daniel Goldfarb条评论。不要不寻求就寻求帮助。

如果您仍然不知道如何操作,请仅阅读我的剩余评论。

只需打印: str =输入的字符串 len(str)=字符串长度

male

答案 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("-+")