python - 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]
无论如何都在打印
解决方案
这是因为i[j]
和end=" "
是两个独立的陈述。
例如,您可以执行以下操作:
print(i[j] if False else 'H',end=" " if j!=(n-1) else i[j]+'\n'
推荐阅读
- typescript - ServiceWorker 代码上的 TypeScript 错误:[2345] [object Object]
- c# - Facebook 身份验证 .NET Core
- python - 获取传递给模拟对象构造函数的值
- sql - 计算小数点四舍五入到 2 位的连续值的百分比
- python - Python:在动态生成的 HTML 中查找内容
- java - 进程显然从未在 C:\Users\ 中启动
\.jenkins\工作区\ @tmp\durable-d3479d32 脚本返回退出代码 -2 - android - CenterCrop 比例类型不适用于用毕加索加载的图像
- android - Android API 22 权限模型降级 - Google Play Store 新应用版本
- java - 动态 PDF 下载,空白期
- sql - SQL 选择虚拟数据