【问题标题】:Coding a Calculator on Python在 Python 上编写计算器
【发布时间】:2023-11-29 22:46:01
【问题描述】:

所以我正在尝试编写一个使用 5 位数字运算的计算器,然后检查它的间隔。代码如下:

def CR5(x):
  x=float('%s' % float('%.5g' % x))
  x="{:.4e}".format(x)
  return x

这似乎工作正常,除了答案是字符串形式,但在这个阶段这不是问题。但是,当我尝试检查间隔时,我得到了这个:

代码:

def interval(x):
   x=float(CR5(x))
   a=x-1
   b=x+1
   while float(CR5(a))!= x:
       a=float(CR5((a+x)/2))
   while float(CR5(b))!= x:
       b=float(CR5((b+x)/2))
   return a, b

如果 x == 4 的结果:

(4.0, 4.0)

我正在尝试获取(3.9999, 4.0001)

知道我做错了什么吗?谢谢!

【问题讨论】:

    标签: python python-3.x calculator intervals


    【解决方案1】:

    您正在运行while 循环,直到ax 变得相等,而您实际上正在寻找等于x 的中间值。你应该这样写循环:

    while float(CR5((a+x)/2.0))!= x:
    

    while float(CR5((b+x)/2.0))!= x:
    

    x=4 的结果:

    (3.9999, 4.0001)
    

    【讨论】: