我試圖做出認定要使用此代碼數的函數:整數查找問題
def get(x):
y=1
while (x/y != 1):
y= y+1
return y
但它一直給我的答案+ 1一樣的一半,如果我把6它給了我4,如果我把它放在500它給了我251.
我試圖做出認定要使用此代碼數的函數:整數查找問題
def get(x):
y=1
while (x/y != 1):
y= y+1
return y
但它一直給我的答案+ 1一樣的一半,如果我把6它給了我4,如果我把它放在500它給了我251.
你的問題是,它正在做整數除法。所以,6/4
計算結果爲1(在python3,真司將踢,我想你的測試將工作)
解決這一問題將是這樣做的最佳方式:
while x != y:
...
和當然,這些測試只能用整數來完成......一旦你傳入一個浮點數,就很難說會發生什麼。
我覺得這是你在找什麼 -
def get(x):
y=1.0
while (x/y != 1):
print y, x
y= y+1
return y
試試下面的函數調用 -
>>> get(5.0)
1和1.0的伎倆。查閱python文檔以獲得更多理解!