我很久以前就创建了一些代码,有助于在论坛中使用的 BBcode 中创建一个表格。
counter = 0
counter2 = 0
while True:
UserInput = input("")
if counter2 == 0:
print ("[tr]")
print ("[td][center]Label\n" + "[img]" + str(UserInput) + "[/img][/center][/td]")
counter += 1
counter2 += 1
if counter % 5 == 0:
print ("[/tr]")
因此,如果我在单独的行中输入 Image1.jpg ~ Image7.jpg,则输出如下所示
> [tr]
> [td][center]Label[img]Image1.jpg[/img][/center][/td]
> [td][center]Label[img]Image2.jpg[/img][/center][/td]
> [td][center]Label[img]Image3.jpg[/img][/center][/td]
> [td][center]Label[img]Image4.jpg[/img][/center][/td]
> [td][center]Label[img]Image5.jpg[/img][/center][/td]
> [/tr]
> [td][center]Label[img]Image6.jpg[/img][/center][/td]
> [td][center]Label[img]Image7.jpg[/img][/center][/td]
目前,代码仅在 5 个图像的末尾插入 [/tr]。如何才能使得无论输入多少张 jpg,[/tr] 也打印在输出末尾?
如何在开头打印 [tr] 并将其与下面的行连接起来,然后在打印 [/tr] 之前不再打印?
为我蹩脚的英语和解释能力道歉。
(当前进度)
counter = 0
while True:
UserInput = input("")
if counter == 0 or counter % 5 == 0:
print("[tr]", end = "")
print ("[td][center]Label\n" + "[img]" + str(UserInput) + "[/img][/center][/td]")
counter += 1
if counter % 5 == 0:
print("[/tr]")
最佳答案
读了你写的5遍后,我相信你想要的是:
print("[tr]")
while True:
counter = 0
UserInput = input("")
if UserInput == "exit":
exit(0)
print("[tr]", end = "")
while (counter !=5):
print ("[td][center]Label\n" + "[img]" + str(UserInput) + "[/img][/center][/td]")
counter += 1
print ("[/tr]")
print("[/tr]")
所以这里发生的事情是你按照你想要的方式在与内部第一个打印相同的行中打印 [tr] 。 [/tr] 位于新行中,但您也可以通过在第二个打印中添加 end = ""将其放在同一行中。
关于Python 在不同行之前/之后打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54975518/