range()函数
会生成包含等差数列的列表(给定的终点永远不会在生成的列表中)
range(5)
Out[4]: [0, 1, 2, 3, 4]
range(4,10)
Out[5]: [4, 5, 6, 7, 8, 9]
range(0,11,2)
Out[6]: [0, 2, 4, 6, 8, 10]
range(-1,-9,-3)
Out[7]: [-1, -4, -7]
可以结合适用range()与len(),对序列进行依据索引的迭代
a=['one','two','three','four','five']
for i in range(len(a)):
print i,a[i]
0 one
1 two
2 three
3 four
4 five
然而在大部分情况下使用enumerate()函数会更加方便
break和continue
break用于跳出最近的for或while循环
#算质数
for n in range(2,11):
for x in range(2,n):
if n%x==0:
print n,'equals',x,'*',n/x
break
else:
print n,'is a prime number'
输出:
2 is a prime number
3 is a prime number
4 equals 2 * 2
5 is a prime number
6 equals 2 * 3
7 is a prime number
8 equals 2 * 4
9 equals 3 * 3
10 equals 2 * 5
下面给这个代码加几个输出观察执行过程
for n in range(2,10):
print n
for x in range(2,n):
print x
if n%x==0:
print n,'equals',x,'*',n/x
break
print n,x
else:
print n,'is a prime number'
输出:
2
2 is a prime number
3
2
3 2
3 is a prime number
4
2
4 equals 2 * 2
5
2
5 2
3
5 3
4
5 4
5 is a prime number
6
2
6 equals 2 * 3
7
2
7 2
3
7 3
4
7 4
5
7 5
6
7 6
7 is a prime number
8
2
8 equals 2 * 4
9
2
9 2
3
9 equals 3 * 3
continue表示继续下一次迭代