在Python3中一次编写多个字符串时,如何启用换行分隔?
我有一个非常基本的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
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')