用二分法去逼近一个数
如果使用二分法去逼近一个浮点数。
1 # x in (0,90) 2 def fn(x): 3 r = 0 4 n = 20 5 t = [90 / 2**i for i in range(1, n + 1)] 6 for i in range(n): 7 if x > r: 8 r = r + t[i] 9 print(f"+{t[i]},{r}") 10 elif x < r: 11 r = r - t[i] 12 print(f"-{t[i]},{r}") 13 14 return r 15 16 17 x = float(input()) 18 print(fn(x))
运行结果,