python – 缩短很多if子句

我的代码中有这个小东西,但是它的长度是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

最佳答案 那么使用另一个变量呢?

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

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

点赞