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,但我认为这远不是问题
谢谢
答案 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。