从1加到100

我们小的时候听说了高斯的故事,高斯上小学一年级时,老师出了加法题在黑板上。高斯经常望着窗外, 于是老师以为高斯不认真学习,就出题为难他。让他放学以后计算1+2+3+...+100。高斯很快计算出了 5050。

高斯像

高斯的计算方法,想必大家都知道了,今天我们用计算机来计算1+2+...+100,当然用数列的公式很快 也能算出来。接下我们编程实现这个计算。

当然我们不可能手工一直输入很长的算式,那该怎么做呢?需要我们今天将的循环了。使用循环语句 for. 这里我们还需要生成一个从1到100的列表数据,我们引入函数 range。这个函数接收两个参数,第一个 是起始数字,第二个是终止数字减去1.我们先来看看输入前10个自然数。

for number in range(10):
    print(number)

输出了前10个自然数,注意是从0开始的。

0
1
2
3
4
5
6
7
8
9

现在我们可以做加法运算了。新建一个文件,保存名称自定。输入一下程序:

total = 0 # 累加器
for number in range(1, 101): # 从1开始到100
    total = total + number # 求和以后放回原来的房子里

print(sum) # 循环结束了房子里就是最终的结果
# 输出 5050

sum变量开始存放0,每次求和以后都放入到变量 sum中,不断覆盖了这个变量,最终循环结束,输出 这个变量的值就是最终的结果了。

第二种循环

 TODO: 补充案例

for循环是一种强制循环,按照顺序遍历完所有的数据,还有一种循环 while循环,循环的次数是不确定 的,需要定义循环的条件,只有满足条件的才能进入循环,运行到不满足条件就会退出。对于以上从1加到100 我们也可以使用 while循环解决。

total = 0  # 累加器
counter = 1  # 计数器

while counter <= 100:
    total += counter
    counter = counter + 1
print(total)
# 输出 5050