【Python基礎入門系列】第04天:Python 流程控制

在編程的世界中,流程控制是程序員運行的基礎,流程控制決定了程序按照什麼樣的方式去執行,本節給大家介紹 Python 流程控制相關語法。


if 語句

if 語句表示如何發生什麼樣的條件,執行什麼樣的邏輯。

Python程序語言指定任何非0和非空(null)值爲true,0 或者 null爲false。

1)單一分支

if 條件表達式:
      【代碼塊】
【後續代碼】
執行流程:如果條件表達式爲真,則執行【代碼塊】。否則不執行,直接執行if語句後面的【後續代碼】
注意:
  【代碼塊】必須縮進
   單if語句可以嵌套

2) 雙向分支

if 條件表達式:
      【語句塊A】
else:
      【語句塊B】
【後續代碼】
執行流程:如果條件表達式爲真,執行【語句塊A】然後執行【後續代碼】,否則執行【語句塊B】,然後再執行【後續代碼】,二選一,不可能既執行A有執行B
注意:
   【語句塊A】和【語句塊B】必須縮進
   if-else可以嵌套

3)多向條件分支

if 條件1:
   【代碼段1】
elif 條件2:
   【代碼段2】
............
elif 條件n:
【代碼段n】
else:
  【else語句塊】
【後續代碼】
執行流程:多選一,如果滿足條件1,執行【代碼段1】,然後跳出if-elif語句,執行【後續代碼】,否則判斷是否滿足條件2,如果滿足執行【代碼段2】,然後跳出if-elif語句,執行【後續代碼】...。如果所有條件都不滿足,執行【else語句塊】,然後再執行【後續代碼】。
注意:else是可選的,可以寫也可以不寫。

示例:


x = int(input("Please enter an integer: "))
    x = -5
if x < 0:
    x = 0
    print('Negative changed to zero')
elif x == 0:
    print('Zero')
elif x == 1:
    print('Single')
else:
    print('More')

可能會有零到多個 elif 部分,else 是可選的。關鍵字 ‘elif’ 是 ’else if’ 的縮寫,這個可以有效地避免過深的縮進。if … elif … elif … 序列用於替代其它語言中的 switch 或 case 語句。


for 循環

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

語法:

for 循環的語法格式如下:


 

'''
for 後跟變量名,in 後跟序列,注意加冒號
for 循環每次從序列中取一個值放到變量中
此處的序列主要指 列表 元組 字符串 文件
'''
for iterating_var in sequence:
statements(s)

示例如下:


 
for letter in 'Python': # 第一個實例
    print('當前字母 :', letter)

fruits = ['banana', 'apple', 'mango']
    for fruit in fruits: # 第二個實例
        print('當前字母 :', fruit)

print("Good bye!")

也可以通過索引地址來遍歷內容


 
fruits = ['banana', 'apple', 'mango']
for index in range(len(fruits)):
    print('當前水果 :', fruits[index])

print("Good bye!")

循環概念

廣義:一個週期現象或者重複出現的情況,這種狀態被稱爲循環

狹義:在滿足條件的情況下,反覆執行某一段代碼,在編程語言中出現的這種現象被稱爲循環。被反覆執行的這段代碼被稱爲循環體

當反覆執行某段代碼時,需要在合適的時機將循環停止下來,否則會產生死循環

Python中提供的循環語句:while語句,for-in語句

 

while的使用

1 while語法

while 表達式:
  循環體

工作原理:遇到while語句時,首先計算表達式的值,如果表達式的值爲假,則跳過整個while語句,繼續執行下面的代碼;如果表達式的值爲真,則執行循環體

2 while-else

while 表達式:
循環體
else:
  【else語句塊】

說明:當while語句執行完成之後,執行【else語句塊】,如果用break跳出循環則不執行else

3 死循環

在循環語句中,表達式永遠爲真的循環

while True:
#循環體

while 1:
#循環體

4 while語句的嵌套

while 條件1:    #外層循環
 【語句塊A】
 while 條件2:  #內存循環
【語句B】

執行流程:首先判斷外層循環的條件1,如果爲真,則執行循環體中的【語句塊A】,執行內層循環,判斷條件2是否成立,如果成立,執行內層循環的【語句塊B】,執行完內層循環後,重新判斷外層循環條件....

  • 特點:外層循環走一步,內層循環執行一遍

  • 外層循環和內層循環的循環變量必須不同

語法:


 

while 判斷條件:
執行語句……

示例:

count = 0
while (count < 9):
    print( 'The count is:', count)
    count = count + 1

print("Good bye!")

 

也可以在 while 循環中添加判斷邏輯


count = 0
while count < 5:
    print(count, " is less than 6")
    count = count + 1
else:
        print(count, " is not less than 6")

 


range() 函數

如果你需要一個數值序列,內置函數 range() 會很方便,它生成一個等差級數鏈表:

語法:


 

range (start, end, scan):

參數含義:

  • start:計數從 start 開始。默認是從 0 開始。例如 range(5) 等價於 range(0, 5);

  • end:計數到 end 結束,但不包括 end.例如:range(0, 5) 是[0, 1, 2, 3, 4]沒有 5

  • scan:每次跳躍的間距,默認爲1。例如:range(0, 5) 等價於 range(0, 5, 1)

示例:


 
for i in range(6):
    print(i)
print(range(6),'finish')

for i in range(6,10):
    print(i)
print(range(6,10),'finish')

for i in range(6,12,2):
    print(i)
print(range(6,12,2),'finish')


需要迭代鏈表索引的話,如下所示結合使 用 range() 和 len():


a = ['i', 'love', 'coding', 'and', 'free']
for i in range(len(a)):
    print(i, a[i])


break 用法和continue、pass

break用於結束當前循環。只對當前這一重循環起作用。break只能出現在循環中。

break示例:


for letter in 'ityouknow': # 第一個實例
    if letter == 'n': # 字母爲 n 時中斷
        break
    print ('當前字母 :', letter)

 

continue 語句用來跳過當前循環的剩餘語句,然後重新判斷循環條件,開啓下一輪循環。continue只能出現在while和for循環中

continue  示例:


 
for letter in 'ityouknow': # 第一個實例
if letter == 'n': # 字母爲 n 時跳過輸出
    continue
    print ('當前字母 :', letter)

 

pass 示例:


 

while True:
pass # Busy-wait for keyboard interrupt (Ctrl+C)


# 這通常用於創建最小結構的類:

class MyEmptyClass:
pass

總結

本節給大家介紹了 Python 語法中的流程控制相關語法,方便後期在代碼邏輯中進行條件控制,留一個小問題,試着去用循環打印一下九九乘法表,答案下期揭曉。

參考:

http://www.pythondoc.com/pythontutorial3
https://www.runoob.com/python3/python3-tutorial.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章