Python算术运算返回0

时间:2015-03-06 02:31:35

标签: python-2.7

read = True

while read:
    my_input = int(raw_input())
    print my_input
    result = (1/6) * my_input * (my_input + 1) * (my_input +2)
    if result == 0:
        print ''
        read = False
        break
    else:
        print result

我写了这个小代码片段来解决1 +(1 + 2)+(1 + 2 + 3 +)...没有循环任何事情,但结果总是由于某种原因为0。我在Eclipse上使用PyDev,但我认为这远不是问题

谢谢

2 个答案:

答案 0 :(得分:1)

乘以零总是导致零。

>>> a = (1/6)
>>> print a
0

这是因为Python正在将结果操作转换为整数。

为了获得浮点结果,您可以用十进制表示法指定值。

>>> a = 1.0/6.0
>>> print a
0.166666666667

答案 1 :(得分:0)

整数师。

当你除(1/6)时,由于整数除法,它出现为0。

当两个整数被分割时,它们会出现正常答案,减去小数点后的任何内容。

例如,1/4通常等于0.25。 但是,小数点后的所有内容都会被删除,因此它会变为0。