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

时间:2017-11-02 09:34:29

标签: 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

1 个答案:

答案 0 :(得分:7)

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

num = int(input("Insert number: "))
s = sum(range(1, num+1, 2))

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

<强>输出:

>>> num = 9
>>> s = sum(range(1, num+1, 2))
>>> s
25

如果要求使用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