1. 程式人生 > >Python的流程控制 - for序列

Python的流程控制 - for序列

設置 語法 打印 使用 python enc python3.6 list() abc

循環是一個結構,導致程序要重復一定的次數。
條件循環也是如此,當條件變為假,循環結束。

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)

Python的流程控制 - for序列