python如何在一个范围内求和奇数?

Kri*_*enL 0 python sum range

我想把我的奇数加起来,所以如果我输入num = 7或8,它就算了:1,3,5,7:正确,但我想总结它们.所以7和8的答案应该是16(1 + 3 + 5 + 7 = 16)

或者,如果我输入num = 9,那么我预计1 + 3 + 5 + 7 + 9 = 25

我必须使用While进行此计算.

num = int(input("Insert number: "))
sum = 1
num += 1
while sum < num:
    print(sum)
    sum = sum + 2
Run Code Online (Sandbox Code Playgroud)

ett*_*any 7

您可以使用内置的sum()函数,如下所示:

num = int(input("Insert number: "))
s = sum(range(1, num+1, 2))
Run Code Online (Sandbox Code Playgroud)

range()采取开始(包括),结束(独占)和步骤(在我们的例子中:start=1,end=num+1和step=2)

输出:

>>> num = 9
>>> s = sum(range(1, num+1, 2))
>>> s
25
Run Code Online (Sandbox Code Playgroud)

如果使用while是一项要求,那么您可以通过以下方式获得相同的结果:

>>> s = 0
>>> i = 1
>>> while i < num + 1:
...     if i % 2:  # Or: i % 2 != 0, which means we only consider odd nums
...         s += i
...     i += 1
...
>>> s
25
Run Code Online (Sandbox Code Playgroud)