从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