When using a compound statement in python (statements that need a suite, an indented block), and that block contains only simple statements, you can remove the newline, and separate the simple statements with semicolons.
However, that does not support compound statements.
So:
if expression: print "something"
works, but
while expression: if expression: print "something"
does not because both the while
and if
statements are compound.
For your specific example, you can replace the if expression: assignment
part with a conditional expression, so by using an expression instead of a complex statement:
while expression: target = true_expression if test_expression else false_expression
in general, or while n<1000: rn += n if not (n % 3 and n % 5) else 0
specifically.
From a style perspective, you generally want to leave that one line on it's own, though.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…