gpt4 book ai didi

python - 奇数和代码问题

转载 作者:太空宇宙 更新时间:2023-11-03 12:56:37 25 4
gpt4 key购买 nike

我知道还有其他关于此的帖子,我已经引用了它们,但我似乎无法弄清楚这个。

这段代码给我的值是 2500,正好是 2500。

sum = 0;
for i in range (1,100):
if i % 2 == 1:
sum = sum + i;
print (sum)

但是我希望范围有所不同。所以我想到了这个

def odd_sum_n(n):
sum = 0;
for i in range(1,2*n):
if i % 2 != 0:
sum = sum + i;
print (sum)

print(odd_sum_n(5))

但是这段代码给了我解决方案

25
None

我一直试图调整这段代码,但我不明白为什么会出现“无”。我是 python 的新手,所以我们将不胜感激!

最佳答案

对于不返回任何内容的函数,Python 认为返回码是None

实际上你必须在你的函数中返回总和而不是打印

def odd_sum_n(n):
sum = 0;
for i in range(1,2*n):
if i % 2 != 0:
sum += i;
return (sum)

print(odd_sum_n(5))

顺便说一句,我建议避免使用 sum,因为它是一个预定义函数...

注意:另一个解决方案,我们使用预定义的 sum

的地方更短
def odd_sum_n(n):
return sum(range(1,2*n,2))

print(odd_sum_n(5))

大笑:hjpotter92 评论对于这个特定问题甚至更好

def odd_sum_n(n):
return n*n

另一个经典系列:从 1 到 n 的所有整数的总和 => sum(range(n)) 还有 n*(n+1)//2

关于python - 奇数和代码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39171284/

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