在Python3中一次编写多个字符串时,如何启用换行分隔?

在Python3中一次编写多个字符串时,如何启用换行分隔?,python,python-3.x,Python,Python 3.x,我有一个非常基本的Python3程序,它运行得很好。它所做的只是从用户输入的字符串和数字中获取信息。然后,它打印该字符串的次数 program1 = 25 print("[Type anything!]") while program1 == 25: pcmd = input() amount = input("How many lines?: ") if amount.isnumeric(): print(pcmd * i

我有一个非常基本的Python3程序,它运行得很好。它所做的只是从用户输入的字符串和数字中获取信息。然后,它打印该字符串的次数

program1 = 25
print("[Type anything!]")
while program1 == 25:
        pcmd = input()
        amount = input("How many lines?: ")
        if amount.isnumeric():
            print(pcmd * int(amount))
        elif pcmd or amount == "exit":
            exit()
        else:
            print("Invalid amount")
问题是,每当我运行它并输入一个字符串和数量时,它都会将所有这些字符串打印在一起


以前,当我静态定义字符串时,我可以使用
'\n'
来换行。在这种情况下,我如何做同样的事情?

有几种方法可以做到这一点

最简单的方法是在每个字符串的末尾添加一个换行符,如下所示:

print((pcmd + '\n') * int(amount))
您可以使用f字符串(仅Python>=3.6)来实现相同的结果:

print(f'{pcmd}\n' * int(amount))
您可以使用
for
循环,因为默认情况下,Python会在每次
print
调用后插入一个换行符:

for i in range(int(amount)):
    print(pcmd)
您可以在
列表中收集
pcmd
副本,并使用解包,同时指定换行符(尽管我不建议这样做-浪费):

改变

打印(pcmd*int(金额))

打印((pcmd+“\n”)*int(金额))

Nice,我一直讨厌TOOWTDI胡说八道:P与上一个想法相同,但不那么浪费:
print(*(范围内(数量)的pcmd),sep=“\n”)
。还有一个:
print(“\n”.join([pcmd]*amount))
pcmd_copies = [pcmd for i in range(int(amount))]

print(*pcmd_copies, sep='\n')