简短许多if条款

Bli*_*ter 3 python if-statement

我的代码中有这个小东西,但是它的长度是5倍......是否有可能以任何方式缩短它?

if counter==1:
    x1=x+0.1
    x-=0.1
    x_add=0.01
if counter==2:
    x1=x+0.01
    x-=0.01
    x_add=0.001
if counter==3:
    x1=x+0.001
    x-=0.001
    x_add=0.0001
Run Code Online (Sandbox Code Playgroud)

Reu*_*ani 6

那么使用另一个变量呢?

factor = 1.0 / (10 ** counter) # x=1 -> 0.1 ; x=2 ->0.01 ...
x1 = x + factor
x -= factor
x_add = factor / 10
Run Code Online (Sandbox Code Playgroud)

我没有对此进行测试,但这个想法很清楚.不需要if.