所以我试图输入一个除法问题作为参数,当答案是<时,我总是得到0。 1.我知道为什么会这样,但我不知道如何解决这个问题,所以它给出了小数答案。
def division(x):
print x
哪里" x"是1/2,代码打印" .5"
我正在使用JES 5.020版。任何指导将不胜感激!
答案 0 :(得分:0)
使用float()函数。
5/2 = 2
浮子(5)/浮子(2)= 2.5
答案 1 :(得分:0)
首先,没有必要使用一个名为 division 的函数,如果它只是打印输入。
现在到了实际问题。你正在使用python 2.在python 2中,整数除法总是一个整数。所以1/3(应该等于0.33)只是0。
解决方案是将至少一个数字转换为浮点数。这可以通过以下方式完成:
float(1)/3
1.0/3
是的,在您当前的设置中,这个分区将在数字传递给您的函数之前发生。所以你的功能完美无缺,它是需要改变的输入。
编辑:
如果您无法更改输入并需要支持整数的浮点除法,请使用 future 模块。这为python 2带来了一些python 3特性。
将此行添加到代码的开头:
from __future__ import division