Python之循環語句(while和for循環)


為了讓計算機能計算成千上萬次的重復運算,我們就需要循環語句。

Python中while語句一般形式:

1 while 判斷條件:
2     循環體

Gif演示

如果條件為真,那么循環體則執行,執行完畢后再次循環,重新判斷條件,如果條件為假,那么循環體不執行,循環終止。

注意:使用時要注意冒號和縮進,另外,在 Python 中沒有 do..while 循環。

例子:計算1+2+3+4+...+100

1 #!/usr/bin/env python3
2 # -*- coding: utf-8 -*-
3 #從1加到100
4 a = 1
5 b = 2
6 while b < 101:
7     a=b+a
8     b=b+1
9 print(a)

結果是:5050

  • 死循環

無限循環在服務器上客戶端的實時請求非常有用。

我們可以通過設置條件表達式永遠不為 false 來實現無限循環,實例如下:

退出使用:Ctrl+C

1 while True:
2     id = input("輸入用戶名")
3     print("你輸入的用戶名為:",id)
  • while循環使用else語句

while 后面的else 作用是指,當while 循環正常執行完,中間沒有被break 中止的話,就會執行else后面的語句

 1 #與其它語言else 一般只與if 搭配不同,在Python 中還有個while ...else 語句,while 后面的else 作用是指,當while 循環正常執行完,中間沒有被break 中止的話,就會執行else后面的語句
 2 count = 0
 3 while count <= 5 :
 4     count += 1
 5     print("Loop",count)
 6 
 7 else:
 8     print("循環正常執行完啦")
 9 print("-----out of while loop ------")
10 輸出
11 Loop 1
12 Loop 2
13 Loop 3
14 Loop 4
15 Loop 5
16 Loop 6
17 循環正常執行完啦
18 -----out of while loop ------
19 
20 #如果執行過程中被break啦,就不會執行else的語句啦
21 count = 0
22 while count <= 5 :
23     count += 1
24     if count == 3:break
25     print("Loop",count)
26 
27 else:
28     print("循環正常執行完啦")
29 print("-----out of while loop ------")
30 輸出
31 
32 Loop 1
  • 簡寫

類似if語句的語法,如果你的while循環體中只有一條語句,你可以將該語句與while寫在同一行中, 如下所示:

1 flag = 1
2  
3 while (flag): print ('歡迎訪問')
4 print ("Good bye!")

 

for循環

Python for循環可以遍歷任何序列的項目,如一個列表或者一個字符串。

for循環一般格式,可以沒有else部分

1 for <variable> in <sequence>:
2     <statements>
3 else:
4     <statements>

例:計算從0加到100的和

1 sum = 0
2 for x in range(101):#range(101)提供的范圍是[0,100]
3     sum = sum + x
4 print(sum)

 

breaker和continue

 

下面的例子輸出1-10,然后輸出END

1 n = 1
2 while n <= 100:
3     if n > 10: # 當n = 11時,條件滿足,執行break語句
4         break # break語句會結束當前循環
5     print(n)
6     n = n + 1
7 print('END')

下面的例子打印1,3,5,7,9

1 n = 0
2 while n < 10:
3     n = n + 1
4     if n % 2 == 0: # 如果n是偶數,執行continue語句
5         continue # continue語句會直接繼續下一輪循環,后續的print()語句不會執行
6     print(n)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM