簡體   English   中英

在Python上編寫計算器

[英]Coding a Calculator on Python

所以我正在嘗試編程一個運行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)

知道我做錯了什么嗎? 謝謝!

您正在運行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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM