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,但我认为这甚至不是遥远的问题
谢谢
乘以零总是得到零。
>>> a = (1/6)
>>> print a
0
发生这种情况是因为 Python 将生成的操作转换为整数。
为了获得浮点结果,您可以用十进制表示法指定值。
>>> a = 1.0/6.0
>>> print a
0.166666666667
整数除法。
当你除(1/6)
时,由于整数除法,它变成了 0。
当两个整数相除时,它们会得到正常的答案,减去小数点后的任何内容。
例如,1/4 通常等于 0.25。但是,小数点后的所有内容都将被删除,因此它显示为 0。