gpt4 book ai didi

python - Python中a到b的偶数之和

转载 作者:太空狗 更新时间:2023-10-30 01:40:11 26 4
gpt4 key购买 nike

这是我的代码:

def sum_even(a, b):
count = 0
for i in range(a, b, 1):
if(i % 2 == 0):
count += [i]
return count

我举的一个例子是 print(sum_even(3,7)) 并且输出是 0。我不知道哪里出了问题。

最佳答案

你的缩进是关闭的,它应该是:

def sum_even(a, b):
count = 0
for i in range(a, b, 1):
if(i % 2 == 0):
count += i
return count

这样 return count 就不会限定在你的 for 循环中(在这种情况下它会在第一次迭代时返回,导致它返回 0)

(并将 [i] 更改为 i)


注意:另一个问题 - 你应该小心使用 range:

>>> range(3,7)
[3, 4, 5, 6]

因此,如果您要调用:

  • sum_even(3,7)
  • sum_even(3,8)

现在,它们都将输出 10,这对于 3 到 8 之间的偶数之和是不正确的,包括 3 和 8。

你真正想要的可能是这个:

def sum_even(a, b):
return sum(i for i in range(a, b + 1) if i % 2 == 0)

关于python - Python中a到b的偶数之和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13809159/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com