我正在尝试使用此代码创建一个找到所需数字的函数:
def get(x):
y=1
while (x/y != 1):
y= y+1
return y
但它一直给我一半答案+ 1.就像,如果我输入6它给我4,如果我输入500它给我251.
答案 0 :(得分:1)
你的问题是它正在进行整数除法。所以,6/4
的计算结果为1.(在python3中,真正的除法会启动,我认为你的测试会起作用)
解决此问题的最佳方法是执行以下操作:
while x != y:
...
当然,这些测试应该只使用整数来完成...一旦你输入浮点数,就很难说会发生什么。
答案 1 :(得分:0)
我认为这就是你要找的东西 -
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文档以获得更多理解!