Python 新行打印为“\";而不是实际的新线

Python 新行打印为“\";而不是实际的新线,python,python-3.x,Python,Python 3.x,我正在尝试打印一个简单的游戏板 places = [" "] * 9 board = (places[8] + "|" + places[7] + "|" + places[6] + "\n", places[5] + "|" + places[4] + "|" + places[3] + "\n", places[2] + "|" + places[1] + "|" + places[0] + "\n") print(board) 但我得到的不是一块木板:

我正在尝试打印一个简单的游戏板

places = [" "] * 9
board = (places[8] + "|" + places[7] + "|" + places[6] + "\n",
         places[5] + "|" + places[4] + "|" + places[3] + "\n",
         places[2] + "|" + places[1] + "|" + places[0] + "\n")
print(board)
但我得到的不是一块木板:

(' | | \n', ' | | \n', ' | | \n')

我想打印它,不带括号,用新行代替\n。我如何才能做到这一点?

您只需使用这一行来打印:

print(*board,sep="")
说明:操作符*是解包操作符:然后解包tuple
board
,就像您所做的那样:

print( places[8] + "|" + places[7] + "|" + places[6] + "\n",
       places[5] + "|" + places[4] + "|" + places[3] + "\n",
       places[2] + "|" + places[1] + "|" + places[0] + "\n",
       sep="")

不要打印整个元组,但它是元素,例如:

for i in board:
    print(i)

因为在括号中的每一行末尾都加了逗号,所以生成了一个元组,它是一个可数,类似于列表。只需在下一行开头用+替换逗号即可

board = ('line 1' + '\n'
         + 'line 2' + '\n'
         + 'line 3' + '\n')
这将创建一个字符串而不是元组

places = [" "] * 9

print(places[8] + "|" + places[7] + "|" + places[6] + "\n" + places[5] + "|" + 
places[4] + "|" + places[3] + "\n" + places[2] + "|" + places[1] + "|" + places[0] + 
"\n")
这就是你要找的


问题是“\n”只适用于打印语句。

Yo。Board是一个元组,它就是这样打印的。你可以做
print(''.join(board))
。你为什么要首先创建一个元组?@user2357112我是编程新手,不知道元组是什么。这对我来说很有意义。