[英]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
循環,直到a
和x
變得相等,而您實際上正在尋找等於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.