就是求-4到6所有奇数的和
s = sum(range(-4,6,2))
print(s)
这样求下来是0不是5,为什么?
参考GPT和自己的思路:
你这样求区间内奇数和的做法是错误的,因为range(-4,6,2)生成的是-4,-2,0,2,4这几个数,并不包括1,3,5这几个奇数。要求区间内奇数和,可以使用如下代码:
s = sum([i for i in range(-4,7) if i%2!=0])
其中,[i for i in range(-4,7) if i%2!=0]是列表解析式,用于生成-4到6内所有奇数的列表,最后用sum函数对这个列表进行求和即可。这样求出的结果应该是5,符合你的预期。
因为起始是-4,然后是-2,0,2,4,其和就是0;把-4改为-3即可,因为第一个奇数是-3;
然后如果是计算到-4到6之间的奇数和,结尾的数可以改为7,因为range不包括结尾那个数,当然不改也可以。
修改如下:
参考链接:
s = sum(range(-3,7,2))
print(s)