我的代码中有这个小东西,但是有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
答案 0 :(得分:6)
使用另一个变量怎么样?
factor = 1.0 / (10 ** counter) # x=1 -> 0.1 ; x=2 ->0.01 ...
x1 = x + factor
x -= factor
x_add = factor / 10
我没有对此进行测试,但这个想法很明确。不需要if
。
答案 1 :(得分:1)
0.1的指数看起来跟x1 = x + 0.1 ** counter
x -= 0.1 ** counter
x_add = 0.1 ** (counter + 1)
一样:
while ((c = in.read()) != -1)