首页 > 解决方案 > PRINT 中的 IF 语句未对完整子句应用条件

问题描述

我正在尝试打印一个像棋盘一样的棋盘,其行和列的大小为“n”。这是工作代码

board = lambda x: [print(i[j],end=" " if j!=(n-1) else '\n') for i in x for j in range(len(i)) ]

对我来说,理想情况下,代码应该是:

board = lambda x: [print(i[j],end=" " if j!=(n-1) else i[j]+'\n') for i in x for j in range(len(i)) ]

如果条件似乎end只在起作用而不是在i[j],end=" ". 否则i[j]无论如何都在打印

标签: pythonpython-3.x

解决方案


这是因为i[j]end=" "是两个独立的陈述。

例如,您可以执行以下操作:

print(i[j] if False else 'H',end=" " if j!=(n-1) else i[j]+'\n'

推荐阅读