我的问题是,学生们似乎很奇怪,当他们希望循环达到10时,他们需要将11作为范围(1,11)的第二个参数。学生们觉得这很混乱。
混乱不是来自
for
声明,但来自
range
. 你需要做的是把你的解释分成两部分:首先
对于
迭代它的参数,而不关心参数的内容。所以
for i in [1,2,3]:
{*do something*}
用3个元素迭代列表。
现在,
范围
定义为整数的半开区间
a <= x < b
因为这有很多很好的数学性质,比如
len(range(a, b)) == b - a
len(range(a)) == a
range(a, a) == []
range(a, b) + range(b, c) == range(a, c)
如果
范围
将是一个封闭的时间间隔,程序员必须用
-1
到处都是。
This
是一篇关于主题的不错的博客文章。