python 條件控制與 循環


1.條件控制(if語句)

條件語句是通過一條或多條語句的執行結果(True或者False)來決定執行的代碼塊

if 語句

用 elif 代替了 else if

if...elif...else
if condition_1(條件1):
    statement_block_1      
# 如果 "condition_1" 為 True 將執行 "statement_block_1" 塊語句
elif condition_2:
    statement_block_2
else:
    statement_block_3

if 嵌套

if 表達式1:
    語句
    if 表達式2:
        語句
    elif 表達式3:
        語句
    else:
        語句
elif 表達式4:
    語句
else:
    語句

 

 

 

2.循環語句   (while 和 for)

while 循環

while 判斷條件:
    語句

 

無限循環

var = 1
while var == 1 :  # 設置條件表達式永遠為 true 來實現無限循環

 

while 循環使用 else 語句

在 while … else 在條件語句為 false 時執行 else 的語句塊:

while a < 5:
   print (a, " 小於 5")       # 當條件 a< 5 為True時執行
else:
   print (a, " 大於或等於 5")  # 當條件 a< 5 為True時執行

 

for 語句

 for循環可以遍歷任何序列的項目,如一個列表(['Google', 'Runoob', 1997, 2000])或者一個字符串("abcdefg")。

for循環的一般格式如下:

for <variable(變量)> in <sequence(序列)>:
     <statements(聲明,結果)> 
else:
     <statements>

實例:

>>>languages = ["C", "C++", "Perl", "Python"] 
>>> for x in languages:
...     print (x)
... 
C
C++
Perl
Python

 

 

 

range()函數

注意:range()區間是左閉右開,range(2,2)是空的!

           range(2)是  從0開始算:0 1     相當於range(0,2)

 

1.如果你需要遍歷數字序列,可以使用內置range()函數。它會生成數列:

>>>for i in range(5):
...     print(i)
...
0
1
2
3
4

2.使用range指定區間的值:

>>>for i in range(5,9) :        #  range()區間是左閉右開
    print(i)
 
    
5
6
7
8

 3.使range以指定數字開始並指定不同的增量(甚至可以是負數,有時這也叫做'步長'):

 

>>>for i in range(0, 10, 3) :
    print(i)
 
    
0
3
6
9


負數
>>>for i in range(-10, -100, -30) :
    print(i)
 
    
-10
-40
-70

4.結合range()和len()函數以遍歷一個序列的索引

Python len() 方法返回對象(字符、列表、元組等)長度或項目個數。

 

>>>str = "runoob"
>>> len(str)             # 字符串長度
6
>>> l = [1,2,3,4,5]
>>> len(l)               # 列表元素個數
5

 

實例:  

其中:len(a) 是 6
range(len(a)) 是 0 1 2 3 4 5 
>>>a = ['Google', 'Baidu', 'Runoob', 'Taobao', 'QQ']
>>> for i in range(len(a)):
...     print(i, a[i])
... 
0 Google
1 Baidu
2 Runoob
3 Taobao
4 QQ

5.使用range()函數來創建一個列表

>>list(range(5))
[0, 1, 2, 3, 4]

 6.求1-100 的和:

>>> sum(range(101))
5050

 

 

 

"break和continue語句及循環中的else子句"

break 語句可以跳出 for 和 while 的循環體

 

#!/usr/bin/python3
 
for letter in 'Runoob':     # 第一個實例
   if letter == 'b':
      break
   print ('當前字母為 :', letter)
  
var = 10                    # 第二個實例
while var > 0:              
   print ('當期變量值為 :', var)
   var = var -1
   if var == 5:
      break
 
print ("Good bye!")


輸出:
當前字母為 : R 當前字母為 : u 當前字母為 : n 當前字母為 : o 當前字母為 : o 當期變量值為 : 10 當期變量值為 : 9 當期變量值為 : 8 當期變量值為 : 7 當期變量值為 : 6 Good bye!

 continue語句被用來告訴Python跳過當前循環塊中(比如n = 1)的剩余語句( 就是放棄執行n = 1 這個循環),然后繼續進行下一輪循環(n = 2)

#!/usr/bin/python3

for var in "abccccccde":       # 第一個實例
    if var == "c":       # 字母為 c 時跳過輸出
        continue
    print("當前字母為:",var)



var = 10                    # 第二個實例
while var > 0:              
   var = var -1
   if var == 5:             # 變量為 5 時跳過輸出
      continue
   print ('當前變量值 :', var)
print ("Good bye!")


當前字母 : a 當前字母 : b 當前字母 : d 當前字母 : e 當前變量值 : 9 當前變量值 : 8 當前變量值 : 7 當前變量值 : 6 當前變量值 : 4 當前變量值 : 3 當前變量值 : 2 當前變量值 : 1 當前變量值 : 0 Good bye!

 循環語句可以有 else 子句,它在窮盡列表(以for循環)或條件變為 false (以while循環)導致循環終止時被執行,但循環被break終止時不執行。

 

 

 

 

 

 

 

pass 語句

Python pass就是一條空語句。在代碼段中或定義函數的時候,如果沒有內容,或者先不做任何處理,直接跳過,就可以使用pass。

作用:pass只是為了防止語法錯誤:

>>if a>1:
  pass #如果沒有內容,可以先寫pass,但是如果不寫pass,就會語法錯誤
>>while True:
  pass  # 等待鍵盤中斷 (Ctrl+C)

 

 

 

 

enumerate 函數(枚舉)

使用內置 enumerate 函數進行遍歷

for index, item in enumerate(sequence):         # enumerate  枚舉
process(index, item)                            # sequence   序列
 
        
>>> sequence = [12, 34, 34, 23, 45, 76, 89]
>>> for i, j in enumerate(sequence):
...     print(i, j)
... 
0 12
1 34
2 34
3 23
4 45
5 76
6 89

 


免責聲明!

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



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