在Python核心编程里遇到了一道题。循环和运算符 创建一个包含五个固定数值的列表或元组, 输出他们的平均值。
写了一个程序
a = [1.22,3.222,5.1,88.2322,9.0]
>>> num = total = 0
>>> for i in range(5):
num = float(a[i-1])
total += num
>>> print float(total)
>>> num = total = 0
>>> for i in range(5):
num = float(a[i-1])
total += num
>>> print float(total)
和
a = [1.22,3.222,5.1,88.2322,9.0]
>>> num = total = 0
>>> for i in range(5):
num = float(a[i])
total += num
>>> print float(total)
>>> num = total = 0
>>> for i in range(5):
num = float(a[i])
total += num
>>> print float(total)
发现结果是一样的,后来把total打印出来了,
1.22
4.442
9.542
97.7742
106.7742
和
9.0
10.22
13.442
18.542
106.7742
问题的核心在于一个列表的【-1】为最后的一个数。
对于range函数是从0开始的,列表也是从0开始的。
通过这个错误或者说是巧合也可以对这两个概念啊理解更深刻。