在python中错误划分

时间:2014-04-16 21:51:39

标签: python python-2.x

从观看中可以看出,l[u][0]必须为0.5,但会返回0

u = 0
for j in range(n):
    if k == j:
        continue
    l[u][0] = -x[j] / (x[k] - x[j])
    l[u][1] = 1 / (x[k] - x[j])
    u = u + 1

screenshot

它出了什么问题?

1 个答案:

答案 0 :(得分:4)

分裂并非“错误”。它是整数除法(a.k.a. floor division)。

当你除以两个整数时,结果是一个整数:

>>> 3/4
0
>>> 4/4
1

当你划分两个浮点数(带小数部分的数字)时,结果是一个浮点数:

>>> 3./4
0.75
>>> 4./4
1.0

请注意,这个“问题”仅限于Python 2. Python 3中的一个变化是使普通分区强制浮动:

>>> 3/4   # Python 3 behavior
0.75

并要求第二个运算符(也在Python> 2.2中)实现整数除法:

>>> 3//4
0