如果明确的知道循环执行的次数或者要对一个容器进行迭代,那么推荐使用for-in
循环
如果明确的知道循环执行的次数或者要对一个容器进行迭代(后面会讲到),那么我们推荐使用for-in
循环,例如下面代码中计算1~100求和的结果(
∑
n
=
1
100
n
\displaystyle \sum \limits_{n=1}^{100}n
n=1∑100n)。
"""
用for循环实现1~100求和
"""
sum = 0
for x in range(101):
sum += x
print(sum)
需要说明的是上面代码中的range(1, 101)
可以用来构造一个从1到100的范围,当我们把这样一个范围放到for-in
循环中,就可以通过前面的循环变量x
依次取出从1到100的整数。当然,range
的用法非常灵活,下面给出了一个例子:
range(101)
:可以用来产生0到100范围的整数,需要注意的是取不到101。range(1, 101)
:可以用来产生1到100范围的整数,相当于前面是闭区间后面是开区间。range(1, 101, 2)
:可以用来产生1到100的奇数,其中2是步长,即每次数值递增的值。range(100, 0, -2)
:可以用来产生100到1的偶数,其中-2是步长,即每次数字递减的值。
知道了这一点,我们可以用下面的代码来实现1~100之间的偶数求和。
"""
用for循环实现1~100之间的偶数求和
"""
sum = 0
for x in range(2, 101, 2):
sum += x
print(sum)
当然,也可以通过在循环中使用分支结构的方式来实现相同的功能,代码如下所示。
"""
用for循环实现1~100之间的偶数求和
"""
sum = 0
for x in range(1, 101):
if x % 2 == 0:
sum += x
print(sum)
说明:相较于上面直接跳过奇数的做法,下面这种做法很明显并不是很好的选择。