Python 如何在一个打印语句中打印多行文本?

Python 如何在一个打印语句中打印多行文本?,python,string,line,Python,String,Line,我们的想法是: a = input("insert name: ") a print("hi ", a, "!") print("hello", a, "!") print("good morning", a, "!") 但是我需要知道是否有一种方法可以让所有的打印都以一种独特的方式打印出来,但包装文本有点像这样:打印(“嗨,a,!”wrap“你好,a,!”wrap“早上好,a,!”) 提前打印你能用一句话打印出来吗: print(f"hi {}! hello {a}! good mornin

我们的想法是:

a = input("insert name: ")
a
print("hi ", a, "!")
print("hello", a, "!")
print("good morning", a, "!")
但是我需要知道是否有一种方法可以让所有的打印都以一种独特的方式打印出来,但包装文本有点像这样:打印(“嗨,a,!”wrap“你好,a,!”wrap“早上好,a,!”)


提前打印

你能用一句话打印出来吗:

print(f"hi {}! hello {a}! good morning {a}!")

您正在查找换行符,
“\n”

print("hi ", a, "!\n", "hello", a, "!\n", "good morning", a, "!")

当然,您可以使用各种字符串格式,如f字符串、
str.format
printf
样式的格式。

默认情况下,打印命令执行新行操作。但您可以将该换行符更改为其他内容:

a = input("insert name: ")
a
print("hi ", a, "!", end=" ")
print("hello", a, "!", end=" ")
print("good morning", a, "!", end="\n")

我们可以在生成器中将字符串拆分成块,以生成一个列表,并用换行符连接

n = 5

wrapped = '\n'.join([string[i:i+n] for i in range(0,len(string),n)])

print(wrapped)
编辑:

对不起,我误解了“包装”的含义


您可以使用其他人建议的每个句子的
.format
方法执行类似于
打印(第1句,第2句,…,sep=“\n”)

我可以想出两种方法:

  • 打印(“hi”,a,“!\n”,“hello”,a,“!\n”,“早上好”,a,”)
    -使用
    \n
    换行符控制字符(有关更多信息,请参阅)
  • 用于相同类型的生成器,但更简单,因为它为您插入了
    \n
def连接(文本):
对于范围内的i(len(text)):
文本[i]=[如果是实例(项目,str)则为项目。否则为文本[i]中的项目加入(项目)]
行=[“”。为文本中的项目连接(项目)
返回“\n”。加入(行)
#用法:
打印(加入([[“嗨”,a,“!”],[“你好”,“a,!”],[“早上好”,a,!”]))
#等于:
print(“hi”+a+“!”)#查看嵌套项(例如[“hello”、[a,!”]]中的[a,!”)如何表示简单的连接(相当于`print()中的“+”)
打印(“hello”,a+“!”)#而姐妹项(例如,[“good morning”,a,“!”]中的“good morning”和a)表示与空格连接(相当于,`print()中的“,”)
打印(“早上好”,a,“!”)
说明:

  • 浏览并找到字符串的连接位置和分隔位置

    1a<代码>范围内的i(len(text))::循环数组,存储当前数组索引

    1b<代码>[item if isinstance(item,str)else''。为文本[i]中的项目加入(item)]:让我们对此进行分解。我们将当前项(由
    text[i]
    表示)(因为它位于
    for
    循环中,所以每个项看起来都像
    [“hello”、[a”!“]
    )并循环通过它。因此,变量
    的值看起来要么像
    “hello”
    要么像
    [a,!”]
    。接下来,我们使用
    isinstance
    检查该项是否为字符串。如果是这样,我们就不谈了。否则,它是一个数组,所以我们将其中的所有值连接在一起,而不使用分隔符。因此,完整的示例将是:
    [[[“你好”,“狗”,“狗!”],[“你好”,“狗”,“狗”!”],[“早上好”,“狗”,“狗”!”]
    变成
    [“你好,狗!”],[“你好”,“狗!”,[“早上好”,“狗”,!”]

  • lines=[''.join(item)for item in text]
    :使用
    text
    中的每个项创建一个数组,一个嵌套数组,但使用
    将其连接在一起。这导致将嵌套数组展平为一个基本的1D数组,每个单独的项目数组都由一个用空格分隔的版本替换(例如
    [['hi'、'my'、'friend']、['how'、'are'、'you']]]
    变成
    ['hi my friend'、'howe']

  • '\n'.join(行)
    使用
    \n
    控制字符(参见上面的链接)作为分隔符,将平面数组中的每个字符串连接在一起(例如
    ['hi my friend','how you']]
    变成
    'hi my friend\n你好吗?

  • 在Python中有很多方法可以做到这一点。下面是一个使用
    str
    类的方法:

    print("hi, {0}!\nhello, {0}!\ngood morning, {0}!".format(a))
    

    请注意新行的
    '\n'
    字符

    亲爱的投票人,请解释这个答案有什么问题,以便我可以改进它