循环是一个结构,导致程序要重复一定的次数。
条件循环也是如此,当条件变为假,循环结束。
for循环可以用在序列里,可以循环遍历,其语法如下:
for iterating_var in sequence:
statements(s)
我们讲过的序列有字符串,元组和列表,比如我们定义一个字符串a,然后遍历a的各个字符并打印出来,信息如下:
In [1]: a='ABC'
In [2]: a
Out[2]: 'ABC'
In [3]: for i in a:
...: print(i)
...:
A
B
C
默认情况下,使用print打印出来会带有换行符,那么我们怎样让结果中不带有换行符呢,如下:
In [6]: for i in a:
print i, #在Python2.7.5中
...:
A B C
for i in a:
print(i,end='') #在Python3.6.1中
比如我们可以创建一个列表list1:
In [8]: list1=list() #生成一个空列表
In [9]: list1=[1,2,3,4]
In [10]: for i in list1:
....: print i
....:
1
2
3
4
生成一个1-9的列表,默认情况下步长为1:
In [11]: range(1,10)
Out[11]: [1, 2, 3, 4, 5, 6, 7, 8, 9]
假如设置步长为2、3分别是:
In [13]: range(1,10,2)
Out[13]: [1, 3, 5, 7, 9]
In [14]: range(1,10,3)
Out[14]: [1, 4, 7]
比如说我们可以利用for循环加range打印十个数:
In [15]: for i in range(0,10):
....: print(i)
....:
0
1
2
3
4
5
6
7
8
9
打印一个1-10的列表,我们也可以这样写:
#!/usr/local/python3/bin/python
print([i for i in range(1,11)])
打印的结果如下:
[root@izj6cdhdoq5a5z7lfkmaeaz ~]# python a.py
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
我们也可以对i进行一些操作,代码如下:
[root@izj6cdhdoq5a5z7lfkmaeaz ~]# cat a.py
#!/usr/local/python3/bin/python
print([i for i in range(1,11)])
print([i+1 for i in range(1,11)]) #让遍历出来的i都加上1
print([i*2 for i in range(1,11)]) #让遍历出来的i都乘上2
print([i-2 for i in range(1,11)]) #让遍历出来的i都减去2
运行的结果如下:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8]
比如我们也可以写一个程序,求1-100的数相加的和,如下所示:
#!/usr/local/python3/bin/python
sum=0
for i in range(1,101):
sum+=i
print(sum)