在if-else子句的else命令中执行“nothing”

时间:2018-04-25 10:11:15

标签: python python-3.x

代码:

for i in range(1000):
    print(i) if i%10==0 else pass

错误:

File "<ipython-input-117-6f18883a9539>", line 2
    print(i) if i%10==0 else pass
                            ^
SyntaxError: invalid syntax

为什么“通过”不在这里工作?

2 个答案:

答案 0 :(得分:6)

这不是一个很好的方法,如果你看到这个问题你的代码结构可能不符合你的愿望,但这将有助于你:

 print(i) if i%10==0 else None

答案 1 :(得分:0)

这不是你问题的直接答案,但我想提出一个不同的方法。

首先选择要打印的元素,然后打印它们。因此,您不需要空分支。

your_list = [i for i in range(100) if i%10]
# or filter(lambda e: e%10 == 0, range(100))
for number in your_list:
    print number