求区间内奇数和,包括负数

就是求-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)


img

img

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^