1. 程式人生 > >Python迴圈與判斷

Python迴圈與判斷

 

1.for 迴圈
使用for語句可以遍歷全部元素,例如逐個輸出字串中的字元,逐個輸出列表中的元素,元組中的元素,集合中的元素(注意賦值時各元素的順序),字典中的鍵……
1-1.range迴圈:

1 for i in range(5):  #range(5)函式是生成一個0-4的列表來作為迴圈次數的判定
2         print(i)
3         """輸出結果:
4         D:\Python\venv\Scripts\python.exe D:/Python/基礎/迴圈.py
5             0
6             1
7             2
8 3 9 4

這是從range生成的列表裡分別從0開始賦值給i變數,每賦值一次就迴圈一次,一直到列表結束""""
元組的方式:

for i in (0,1,2,3,4)
  print(i)  ##輸出結果跟上面是一樣的,但是一般不會使用,不簡潔。

列表的方式:

for i in ["j",1,3,"a",5]:
     print(i)

字串的方式:

for i in "python":
  print(i)

2.while 迴圈
如果條件成立(true),重複執行相同操作,條件不符合,跳出迴圈

  while 迴圈條件:

     迴圈操作
例:計算1-10相加的值

1 i = 1        ##賦值一個初始值給i變數    
2 num = 0        #賦值一個初始值給num變數    
3 while(i<=10):  #設定迴圈判定條件:如果i變數小於10則條件成立,執行迴圈裡的語句,否則跳出迴圈
4   num = num + i #計算語句 
5   i = i + 1   #給變數i+1返回給變數i
6 print(num)

巢狀迴圈 --> 外部迴圈滿足條件後,執行程式碼開始執行內部迴圈,等內部迴圈全部執行完畢,如果還滿足外部迴圈條件,則外部迴圈再次執行,依次類推,直到跳出外層迴圈。
例:分別輸入兩個學生的5門成績,並分別計算平均成績

  

 1       j=1                                         # 定義外部迴圈計數器初始值
 2           prompt='請輸入學生姓名'                       # 定義字串變數,在使用者輸入時呼叫此變數可以減少敲漢字的麻煩
 3           while j<=2:                                 # 定義外部迴圈為執行兩次
 4               sum=0                                   # 定義成績初始值,之所以定義在這裡,是為了當第二個學生輸入成績時可以讓sum初始化為0,重新接收新學生的成績和
 5               i=1                                     # 定義內部迴圈計數器初始值
 6               name = raw_input(prompt)               # 接收使用者輸入的學生姓名,賦值給name變數
 7               while i<=5:                             # 定義內部函式迴圈5次,就是接收5門課程的成績
 8                   print ('請輸入第%d門的考試成績: '%i)   #提示使用者輸入成績,其中用到了格式化輸出,%d的取值隨i的值顯示,第1門課程,第2門課程……
 9                   sum= sum + input()                  # 接收使用者輸入的成績,賦值給sum
10                   i+=1                                # i變數自增1,i變為2,繼續執行迴圈,直到i等於6時,跳出迴圈
11               avg=sum/(i-1)                           # 計算第一個學生的平均成績 sum/(6-1),賦值給avg
12               print name,'的平均成績是%d\n'%avg         # 輸出學生成績平均值
13               j=j+1                                   # 內部迴圈執行完畢後,外部迴圈計數器j自增1,變為2,再進行外部迴圈
14           print '學生成績輸入完成!'                     # 外部迴圈結束,提示輸入完成!

3.迴圈控制
迴圈控制語句可以改變迴圈正常的執行順序

迴圈控制語句

break語句:跳出本次迴圈(巢狀迴圈中只跳出一層迴圈)

continue語句:跳過當前一輪迴圈體的剩餘語句,重新測試迴圈狀態,進入下一輪迴圈,比如迴圈的次數一共有5次,第四次遇到continue了,那麼不繼續執行了,直接進行第5次迴圈判斷



4.if elif else -->條件判定執行
if condition:

expressions

如果 condition 的值為 True,將會執行 expressions 語句的內容,否則將跳過該語句往下執行。

例:輸入一個數字判定

 1     while True:                                        #建立一個死迴圈
 2             try:                                        #異常捕獲
 3                 num = float(input('請輸入一個數字:'))  #鍵盤獲取一個值
 4                 if num == 0:                            #if判定是否等於0
 5                     print('輸入的數字是零')                #如果等於0則輸出
 6                 elif num > 0:                            ##if判定是否大於0
 7                     print('輸入的數字是正數')            #如果大於0則輸出
 8                 else:                                    #以上判定都不符合則輸出else下的語句
 9                     print('輸入的數字是負數')
10                 break
11             except ValueError:                            #捕獲輸入異常
12                 print("你輸入的數字無效!")                #捕獲到異常則執行
13