# Python 程序：查找自然数总和

> 原文： [https://www.programiz.com/python-programming/examples/sum-natural-number](https://www.programiz.com/python-programming/examples/sum-natural-number)

#### 在此程序中，您将学习使用`while`循环查找 n 个自然数的总和并显示它。

要理解此示例，您应该了解以下 [Python 编程](/python-programming "Python tutorial")主题：

*   [Python `if...else`语句](/python-programming/if-elif-else)
*   [Python `while`循环](/python-programming/while-loop)

* * *

在下面的程序中，我们结合使用了`if...else`语句和`while`循环来计算最大为`num`的自然数之和。

## 源代码

```py
# Sum of natural numbers up to num

num = 16

if num < 0:
   print("Enter a positive number")
else:
   sum = 0
   # use while loop to iterate until zero
   while(num > 0):
       sum += num
       num -= 1
   print("The sum is", sum) 
```

**输出**

```py
The sum is 136

```

**注意**：要测试程序的其他编号，请更改`num`的值。

最初，`sum`初始化为 0。并且，数字存储在变量`num`中。

然后，我们使用`while`循环进行迭代，直到`num`变为零。 在循环的每次迭代中，我们将`num`加到`sum`，并且`num`的值减少了 1。

* * *

通过使用以下公式，我们可以在不使用循环的情况下解决上述问题。

```py
n*(n+1)/2

```

例如，如果`n = 16`，则总和为`(16 * 17) / 2 = 136`。

**轮到您了**：修改上述程序，使用以下公式查找自然数的总和。