【发布时间】:2011-02-17 15:58:30
【问题描述】:
我刚接触 Python,我真的很喜欢简洁的语法。但是,有没有更简单的方法来编写 if-then-else 语句以便它适合一行?
例如:
if count == N:
count = 0
else:
count = N + 1
有没有更简单的写法?我的意思是,在 Objective-C 中我会这样写:
count = count == N ? 0 : count + 1;
Python 有类似的东西吗?
更新
我知道在这种情况下我可以使用count == (count + 1) % N。
我问的是一般语法。
【问题讨论】:
-
不应该是
count = count == N ? 0 : N + 1;而不是count = count == N ? 0 : count + 1;吗? -
对于这种特定情况:count = (count+1) % (N+1) 会起作用。
-
您可以在一行中执行 if-then。 '''如果 1==1: print('hi')'''
-
if 1==1: print('hi')可以这样使用。'''if 1==1: print('hi')'''不会打印任何内容! -
我想知道
count == (count + 1) % N曾经做什么。目前它只评估count == (count + 1)(自然,结果总是False)。我已经检查了 Python 3.6.1 和 Python 2.7.10。
标签: python if-statement syntax ternary-operator