在Python中,我试图在变量值小于另一个数字时使其递增。我知道以(print(x) for x in range(1, 5))
的形式进行for
循环是可能的。我的问题是,是否有类似的方法来以这种形式执行while
循环,例如x += 1 while x < y
?
x = 0
y = 10
while x < y:
x +=1
>>> x
10
好吧,你可以在一行中完成,因为Python允许:
x = 0
while x < y: x +=1
它不那么可读,也不符合PEP 8,但它是可行的。
您可以用分号分隔每条语句,如so…
x = 0; y = 5
while(x < y): print(x); x=x+1
您可以执行类似的操作
n = 0
while n < 1000: rn += n if not (n % 3 and n % 5) else 0
您看到的是一个条件表达式,但它的代价是可读性降低